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

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

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



解决使用WKWebView加载html,调用系统电话没反应的问题_第1张图片
- (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,调用系统电话没反应的问题)