美文网首页我爱编程
解决使用WKWebView加载html,调用系统电话没反应的问题

解决使用WKWebView加载html,调用系统电话没反应的问题

作者: Leo_L | 来源:发表于2018-06-11 16:48 被阅读44次

            在使用WKWebView加载html时,在加载出来的界面上有一个拨打电话的功能。安卓那边可以正常不打电话,iOS端点击打电话这个功能根本就没有任何反应,查了一下WKWebView的资料,发现在使用WKWebView的时候 如果不去使现相应的代理,WKWebView默认会屏蔽掉打电话等URL。

            解决办法:实现WKWebView的WKNavigationDelegate的代理方法

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {     NSURL *URL = navigationAction.request.URL;     NSString *scheme = [URL scheme];     if ([scheme isEqualToString:@"tel"]) {         NSString *resourceSpecifier = [URL resourceSpecifier];         NSString *callPhone = [NSString stringWithFormat:@"telprompt://%@", resourceSpecifier];                      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]];     }     decisionHandler(WKNavigationActionPolicyAllow); }

    这样就把问题解决了。

    如果你需要原生和html交互的话,推荐大家使用这个 WebViewJavascriptBridge 

    相关文章

      网友评论

        本文标题:解决使用WKWebView加载html,调用系统电话没反应的问题

        本文链接:https://www.haomeiwen.com/subject/ajyheftx.html