iOS开发 解决WKWebView加载的h5,调用拨打电话功能

h5的拨打电话代码是

a href="tel:13112345678 

移动WEB页面JS一键拨打号码咨询功能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);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 关于UIWebView的介绍,相信看过上文的小伙伴们,已经大概清楚了吧,如果有问题,欢迎提问。 本文是本系列...
    CoderLF阅读 12,989评论 2 12
  • iOS 的 Cookie 存取 https://juejin.im/entry/58d4c4cc44d904006...
    Farmers阅读 11,297评论 0 16
  • 有两种方法, 第一种: - (void)webView:(WKWebView *)webView didStart...
    旅途开发者阅读 12,135评论 0 0
  • 刚刚买来了小天才手表的时候,在数学课上,忍不住要玩手表,张老师提醒了好几次,最终还是被没收放到了讲台上。老师说:“...
    弓长板阅读 3,868评论 0 6
  • 意志力的特点: 1.人天生具有抵制诱惑的能力。 2.过渡长期自控,产生压力。 3.意志力是会枯竭的。 4.训练大脑...
    奇葩默默姐阅读 2,299评论 0 0

友情链接更多精彩内容