WKWebViewクラスにonLinkClickListenerのようなものがありますか?私はそれをグーグルで試しましたが、何も見つかりませんでした。また、類似のタイプのstackoverflowに関するいくつかの未回答の質問を見つけました。
LinkClickListenerが必要な理由は、リンクをクリックしてもページがまだロードされなかった場合、Webサイトがロードされないためです。また、ページがリスナーでロードされるときに、ファンシーなロード画面を作成することもできます。
このようにできます
wKNavigationDelegateをクラスに追加します
class ViewController: UIViewController, WKNavigationDelegate
ナビゲーションデリゲートを設定する
yourWKWebview.navigationDelegate = self
その後、decidePolicyFor 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)
}