如何在用户点击iPad上的WKWebView中的电话号码时禁用弹出窗口?

时间:2018-05-17 17:33:53

标签: ios ipad wkwebview

当用户点击WKWebView中的电话号码时,会显示弹出窗口:

enter image description here

如何拦截此类水龙头并执行自定义操作?

在iPhone上,我可以使用WKNavigationDelegate方法截取电话号码:

public func webView(_ webView: WKWebView,
                    decidePolicyFor navigationAction: WKNavigationAction,
                    decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    //....
    decisionHandler(.allow)
}

然而,在iPad上,弹出窗口才会出现,并且不会调用委托方法。

1 个答案:

答案 0 :(得分:1)

我可以想象几种方法,但我现在没有机会尝试它们。

WKWebViewConfiguration

  • dataDetectorTypes等属性设置为.none,不过这应该是默认值。

  • 使用setURLSchemeHandler(_:forURLScheme:)忽略tel://计划

HTML / JS

  • 在通过抓取显示HTML之前删除有问题的链接标记
  • 应用一些捕获事件的Javascript并使用preventDefault()或其他内容。