KINWebBrowser是适用于iOS应用程序的开源Web浏览器模块.我最近升级了KINWebbrowser以使用
WKWebView开始逐步淘汰UIWebView.这会带来显着的改善,但是:
问题:WKWebView不允许用户启动包含电话号码,电子邮件地址,地图等URL的链接.
如何从显示的页面中将链接作为链接启动时,如何配置WKWebView以启动这些备用URL的标准iOS行为?
有关WKWebKit的更多信息
解决方法
我能够通过将此函数添加到您的KINWebbrowserViewController.m来使其适用于Google Maps链接(似乎与target =“_ blank”相关)和tel:scheme
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler { if(webView != self.wkWebView) { decisionHandler(WKNavigationActionPolicyAllow); return; } UIApplication *app = [UIApplication sharedApplication]; NSURL *url = navigationAction.request.URL; if (!navigationAction.targetFrame) { if ([app canopenURL:url]) { [app openURL:url]; decisionHandler(WKNavigationActionPolicyCancel); return; } } if ([url.scheme isEqualToString:@"tel"]) { if ([app canopenURL:url]) { [app openURL:url]; decisionHandler(WKNavigationActionPolicyCancel); return; } } decisionHandler(WKNavigationActionPolicyAllow); }