ios – 在WKWebView中启动电话电子邮件地图链接

ios – 在WKWebView中启动电话电子邮件地图链接,第1张

概述KINWebBrowser是适用于iOS应用程序的开源Web浏览器模块.我最近升级了KINWebBrowser以使用 WKWebView开始逐步淘汰UIWebView.这会带来显着的改善,但是: 问题:WKWebView不允许用户启动包含电话号码,电子邮件地址,地图等URL的链接. 如何从显示的页面中将链接作为链接启动时,如何配置WKWebView以启动这些备用URL的标准iOS行为? 所有的co KINWebBrowser是适用于iOS应用程序的开源Web浏览器模块.我最近升级了KINWebbrowser以使用 WKWebView开始逐步淘汰UIWebVIEw.这会带来显着的改善,但是:

问题:WKWebVIEw不允许用户启动包含电话号码,电子邮件地址,地图等URL的链接.

如何从显示的页面中将链接作为链接启动时,如何配置WKWebVIEw以启动这些备用URL的标准iOS行为?

所有的code is available here

有关WKWebKit的更多信息

见issue on the KINWebBrowser GitHub here

解决方法 我能够通过将此函数添加到您的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);}
总结

以上是内存溢出为你收集整理的ios – 在WKWebView中启动电话/电子邮件/地图链接全部内容,希望文章能够帮你解决ios – 在WKWebView中启动电话/电子邮件/地图链接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1033038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存