Webサイトの多くのリンクはonclickハンドラーでwindow.openを使用していますが、WKWebViewはwindow.openを完全に無視しているようです。
これの回避策はありますか?
JavaScriptCanOpenWindowsAutomatically設定をtrueに設定しようとしましたが、それは役に立たないようです
JavaScriptでWebアプリケーションがwindow.open()
を呼び出すと、WKWebView
はそのUIDelegate
で_- webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:
_メソッドを呼び出します。
そのデリゲートメソッドでは、与えられたWKWebView
を使用して新しいWKWebViewConfiguration
を作成する必要があります。この新しいWKWebView
を画面に表示すると、正しいコンテンツが読み込まれます。
これは WKUIDelegateのドキュメント に記載されていますが、これがwindow.open()
の結果として呼び出されることはあまり明確ではありません。