在移动端的WKWebView开发中,需要将网页正文中的一串数字识别为会议号等,用户可点击会议号调用拨打音视频会议的功能。
实现思路:
- 获取当前网站HTML源码, 根据正则匹配到合法的数字,插入
tel:协议的链接; - 点击链接时,在
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;中劫持tel:方法的响应; - 在
tel:实现中调用native音视频的呼叫api。
代码案例, 拨打89开头的8位会议号:
document.body.innerHTML = document.body.innerHTML.replace(/(89)d{6}/g,'<a href="tel:$&">$&</a>')