ios - 在 WKWebView 中抓取并调用电话号码

标签 ios swift wkwebview

我有一个 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/

相关文章:

ios - subview 相对于父 UIView 的起源

ios - 在单个 CAShapeLayer 中对多个 UIBezier 路径进行动画处理

swift - 更改 iOS 10 通知图像缩略图大小

ios - Xamarin中,如何处理WKWebView ShouldStartLoad事件

javascript - 如何在 WKWebView 中播放音频?

ios - libgdx ios 应用程序因无法在使用 Ec2 和 Kryonet 的 IPv6 网络上工作而被拒绝

ios - 错误的YouTube Google身份验证

ios - uitextfield 不可转换为 uint8

macos - 在 Swift 中创建文件夹

javascript - iOS 为带有嵌入推文的 html 字符串计算正确的 WKWebview 高度