iOS wkwebview 跳转到safari

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    //    1.拦截请求
        NSString *urlString = [navigationAction.request.URL absoluteString];
        //    2.跳转别的应用如系统浏览器(跨域跳转)、应用的web内跳转(不跨域跳转)
        NSString *hostname = navigationAction.request.URL.host.lowercaseString;
        if (navigationAction.navigationType == WKNavigationTypeLinkActivated) {//跳转别的应用如系统浏览器
            // 对于跨域,需要手动跳转
            [[UIApplication sharedApplication] openURL:navigationAction.request.URL];
            // 不允许web内跳转
            decisionHandler(WKNavigationActionPolicyCancel);
        } else {//应用的web内跳转
            decisionHandler (WKNavigationActionPolicyAllow);
        }
        return ;//不添加会崩溃
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容