iOS开发 解决WKWebView加载的h5,无法调用拨打电话功能
2016-11-17 12:01
579 查看
h5的拨打电话代码是
UIWebView加载的h5,可以调用;但是WKWebView就是不行,找了半天,最后解决,在WKWebView的WKNavigationDelegate代理方法处理,代码如下:
ps:注意,这个方法也是处理一些Url跳转的方法,当内部有些Url跳转需要处理的时候,需要在这个方法内处理
<a href="tel:13112345678">移动WEB页面JS一键拨打号码咨询功能</a>
UIWebView加载的h5,可以调用;但是WKWebView就是不行,找了半天,最后解决,在WKWebView的WKNavigationDelegate代理方法处理,代码如下:
// 处理拨打电话以及Url跳转等等 - (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]; /// 防止iOS 10及其之后,拨打电话系统弹出框延迟出现 dispatch_async(dispatch_get_global_queue(0, 0), ^{ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]]; }); } decisionHandler(WKNavigationActionPolicyAllow); }
ps:注意,这个方法也是处理一些Url跳转的方法,当内部有些Url跳转需要处理的时候,需要在这个方法内处理
相关文章推荐
- iOS开发 解决WKWebView加载的h5,无法调用拨打电话功能
- iOS 使用WKWebView加载h5页面无法调用拨打电话功能
- iOS开发UI篇—在UItableview中实现加载更多功能
- IOS开发—调用系统拨打短话功能
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发中如何解决TableView中图片延时加载
- Android开发 activity里面的WebView加载js调用windows.location.reload()会弹出浏览器的解决方法
- 【iOS开发】解决iOS 8无法调用GPS定位信息的问题
- iOS开发 关于tableView加载图片时出现卡顿时的解决办法
- iOS开发中调用网址、拨打电话、发送短信、发送邮件
- WebView和加载html页面时无法调用alert的解决办法
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发中如何解决TableView中图片延时加载
- IOS开发问题解决之UIAlertView调用UIActionSheet后灰色背景一直存在
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发UI基础—30在UItableview中实现加载更多功能
- IOS开发中如何解决TableView中图片延时加载
- IOS开发问题解决之UIAlertView调用UIActionSheet后灰色背景一直存在