gpt4 book ai didi

swift - 如何使用 WKWEBVIEW 打开外部 url

转载 作者:行者123 更新时间:2023-11-28 07:20:40 24 4
gpt4 key购买 nike

我有一个应用程序,例如域是 hello.example.com,但是当用户单击 example.com/example 的链接时,它必须将其作为外部链接打开。我正在使用 swift 5 和 WKwebview

我有这段代码,但我需要当 url 包含 hello 时,url 在 webview 中打开,否则打开 safari,但它不起作用。我正在寻找包含类似内容的网址,但没有找到对我的案例有用的内容。

我有这段代码,但显然不能满足我的需要。

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if let url = navigationAction.request.url {
if url.host != "example.com" {
UIApplication.shared.open(url)
decisionHandler(.cancel)
return
}
}

decisionHandler(.allow)
}

最佳答案

你走在正确的轨道上。

if url.host != "example.com" 替换为 if url.path.contains(…) 它应该可以工作。

使用 url.path.contains(...) 我们可以检查给定字符串是否存在。

    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if let url = navigationAction.request.url {
let trigger = "example" // or "hello"
if url.path.contains(trigger) {
UIApplication.shared.open(url)
decisionHandler(.cancel)
return
}
}

decisionHandler(.allow)
}

关于swift - 如何使用 WKWEBVIEW 打开外部 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58243705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com