gpt4 book ai didi

ios - 在 WKWebView 中启动电话/电子邮件/ map 链接

转载 作者:IT王子 更新时间:2023-10-29 08:13:47 28 4
gpt4 key购买 nike

KINWebBrowser是用于 iOS 应用程序的开源 Web 浏览器模块。我最近升级了 KINWebBrowser 以使用 WKWebView开始逐步淘汰 UIWebView。这产生了显着的改进,但是:

问题:WKWebView 不允许用户启动包含电话号码、电子邮件地址、 map 等 URL 的链接。

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

所有 code is available here

有关 WKWebKit 的更多信息

参见 issue on the KINWebBrowser GitHub here

最佳答案

通过将此函数添加到您的 KINWebBrowserViewController.m,我能够使其适用于 Google map 链接(这似乎与 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 中启动电话/电子邮件/ map 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26501172/

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