我有一个 WKWebView,我想在选择号码时要求调用号码。 Web View 的内容包含 HTML anchor 标记“tel:”,我正在寻找一种方法来捕获它。哪个函数用于捕获这些标签?
最佳答案
设置webView的navigationDelegate
属性并实现delegate(WKNavigationDelegate)的以下功能
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if navigationAction.request.url?.scheme == "tel" {
UIApplication.shared.open(navigationAction.request.url!)
decisionHandler(.cancel)
} else {
decisionHandler(.allow)
}
}
从 iOS 10 开始,您还可以在 WKWebViewConfiguration
上将 dataDetectorTypes
设置为 .phoneNumber
。所有检测到的电话号码都将转换为包含电话号码周围的链接,因此当点击电话号码时,上述功能将通过带有“电话”方案的 URL 触发。
configuration.dataDetectorTypes = .phoneNumber
关于ios - 在 WKWebView 中抓取并调用电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643326/