链接点击监听器上的WKWebView?

Sam*_*tek 12 iphone ios swift wkwebview swift3

在WKWebView类中是否存在类似onLinkClickListener的东西?我试着谷歌搜索但没有发现任何东西,我也发现了一些关于simillar类型的stackoverflow的未解答的问题.

我需要一个linkClickListener的原因是,当我点击链接并且页面尚未加载时,它不会加载网站.当页面加载了监听器时,我也可以创建一个花哨的加载屏幕.

Vit*_*nov 34

你可以这样做

将WKNavigationDelegate添加到您的班级

class ViewController: UIViewController, WKNavigationDelegate
Run Code Online (Sandbox Code Playgroud)

设置导航委托

yourWKWebview.navigationDelegate = self
Run Code Online (Sandbox Code Playgroud)

之后,您将能够使用decisionPolicyFor navigationAction函数

 func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if navigationAction.navigationType == WKNavigationType.linkActivated {
            print("link")

            decisionHandler(WKNavigationActionPolicy.cancel)
            return
        }
        print("no link")
        decisionHandler(WKNavigationActionPolicy.allow)
 }
Run Code Online (Sandbox Code Playgroud)