栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

WKWebView在Safari中打开来自某些域的链接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WKWebView在Safari中打开来自某些域的链接

您可以实现

WKNavigationDelegate
,添加
decidePolicyForNavigationAction
方法,然后在其中检查navigationType和所请求的url。我在下面使用了
**google.com** ,但您可以将其更改为您的域:

Xpre 8.3•Swift 3.1或更高版本

import UIKitimport WebKitclass ViewController: UIViewController, WKNavigationDelegate {    let webView = WKWebView()    override func viewDidLoad() {        super.viewDidLoad()        webView.frame = view.bounds        webView.navigationDelegate = self        let url = URL(string: "https://www.google.com")!        let urlRequest = URLRequest(url: url)        webView.load(urlRequest)        webView.autoresizingMask = [.flexibleWidth,.flexibleHeight]        view.addSubview(webView)    }    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {        if navigationAction.navigationType == .linkActivated  { if let url = navigationAction.request.url,     let host = url.host, !host.hasPrefix("www.google.com"),     UIApplication.shared.canOpenURL(url) {     UIApplication.shared.open(url)     print(url)     print("Redirected to browser. No need to open it locally")     decisionHandler(.cancel) } else {     print("Open it locally")     decisionHandler(.allow) }        } else { print("not a user click") decisionHandler(.allow)        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号