WKWebView和window.open

时间:2015-10-17 18:39:32

标签: ios swift wkwebview

网站上的很多链接似乎都在他们的onclick处理程序中使用window.open,但WKWebView似乎完全忽略了window.open。

有解决方法吗?

我尝试将javaScriptCanOpenWindowsAutomatically首选项设置为true,但这似乎没有帮助

1 个答案:

答案 0 :(得分:27)

当网络应用程序在JavaScript中调用window.open()时,WKWebView会在其 - webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures: 上调用UIDelegate方法。

在该委托方法中,您应该创建一个新的WKWebView,其中包含WKWebViewConfiguration。如果您在屏幕上显示此新WKWebView,则会加载正确的内容。

WKUIDelegate documentation中记录了这一点,但由于window.open()而调用此词并不十分明确。