WKWebView 和 window.open
Posted
技术标签:
【中文标题】WKWebView 和 window.open【英文标题】:WKWebView and window.open 【发布时间】:2015-10-17 18:39:32 【问题描述】:网站上的许多链接似乎在其 onclick 处理程序中使用 window.open,但 WKWebView 似乎完全忽略了 window.open。
有解决办法吗?
我尝试将 javascriptCanOpenWindowsAutomatically 首选项设置为 true,但这似乎没有帮助
【问题讨论】:
【参考方案1】:当 Web 应用程序在 JavaScript 中调用 window.open()
时,WKWebView
将在其 UIDelegate
上调用
- webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:
方法。
在该委托方法中,您应该使用提供给您的WKWebViewConfiguration
创建一个新的WKWebView
。如果您在屏幕上显示这个新的WKWebView
,它将加载正确的内容。
这在WKUIDelegate documentation 中有记录,尽管它不是很明确地表明这是作为window.open()
的结果而调用的。
【讨论】:
您能否添加有关如何使用 JavaScript 执行此操作的信息?我正在使用科尔多瓦! : D 这很明显,但您需要委托您的webView.uiDelegate
才能实现此createWebViewWith configuration
。如果您从 UIWebView
迁移到 WKWebView
,您将需要这个,因为 window.open
将不起作用。
您好@Stefan,createWebViewWithConfiguration
方法没有被触发可能是什么问题?尽管委托已设置为我的网络视图?感谢您是否可以减少 2 美分。此处发布的详细问题.. ***.com/questions/60851538/…以上是关于WKWebView 和 window.open的主要内容,如果未能解决你的问题,请参考以下文章