Hey, Eskimo!
Thank you for the reply.
There were also some crashes where the backtrace was the same as this one, but in the info, they addressed the abort(). I'm not sure if that also occurs due to configuration or not.
Moreover, as per your comment. I can check that where we should pass the configuration while opening the new window that has the same configuration as its parent webview has.
My question is, can we alter the configuration of the new webview on webView(_:createWebViewWith:for:windowFeatures:) delegate call?
override func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
let popupWebView = WKWebView(frame: self.view.bounds, configuration: configuration)
popupWebView.customUserAgent = webView.customUserAgent
popupWebView.navigationDelegate = self
popupWebView.uiDelegate = self
popupWebView.frame = self.bounds
popupWebView.autoresizingMask = [.width, .height]
if let subView = popupWebView {
self.view.addSubview(subView)
}
self.view.autoresizesSubviews = false
popupWebView.configuration.preferences.javaScriptCanOpenWindowsAutomatically = true
popupWebView.configuration.preferences.javaScriptEnabled = true
popupWebView.configuration.preferences.plugInsEnabled = true
popupWebView.load(navigationAction.request)
return popupWebView
}
Topic:
Safari & Web
SubTopic:
General
Tags: