gpt4 book ai didi

ios - 在WKWebView中无法点击的广告

转载 作者:行者123 更新时间:2023-12-01 18:44:18 24 4
gpt4 key购买 nike

我在我的应用程序中使用WKWebView。我发现,即使通过应用程序传输安全性允许任意加载,也无法单击各种链接。例如,单击所有Adsense内容和来自其他提供商的广告均无效。 WebView甚至不返回任何进度。

此外,尝试单击iTunes链接(即App Store徽章)将不会重定向到App Store应用程序。 WebView将注册进度,但是不会离开初始页面。

另一个示例:单击Pinterest hompage上的徽章,提示您在Pinterest应用中打开某些图钉,只会加载bnc.it URL并显示空白页面,这就是我认为是Pinterest.com和Pinterest iPhone之间的中介应用。

如果有人知道如何让WKWebView处理所有这些请求,我将不胜感激。

最佳答案

好的。我已经知道它是如何工作的。问题是关于navigationType。我使用了以下代表来完成这项工作。我已经通过我的应用程序进行了测试,它可能可以工作。只有Adsense广告会打开Safari。

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
let requestedURL = navigationAction.request.url

if navigationAction.navigationType == .linkActivated{
print("You have clicked the requested URL \(requestedURL)")
if requestedURL?.absoluteString.contains("doubleclick.net") == true{
UIApplication.shared.open(requestedURL!, options: [:], completionHandler: nil)
decisionHandler(.cancel)
}
}
decisionHandler(.allow)
}

当然,您需要确保已声明
webView.uiDelegate = self
webView.navigationDelegate = self

我还将完整的简化源代码放在我的Github中。如果您不知道我的意思,请随时在以下地址下载:

https://github.com/babyghost666/WKWebViewAdsense

随时更换,
UIApplication.shared.open(requestedURL!, options: [:], completionHandler: nil)

如果您希望WKWebView在用户单击Adsense之后执行其他操作。如果这个答案有帮助。请投票并接受。谢谢。

关于ios - 在WKWebView中无法点击的广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37823935/

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