在移动端的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>')