【发布时间】:2018-06-22 00:34:57
【问题描述】:
我正在从另一个打开 WKWebView,并希望两者能够通过 JavaScript 相互通信。
以下代码打开两个 Web 视图 - 我可以使用 Safari 调试器检查它们。但是第二个 Web 视图的opener 属性是null。
class MyVC: UIViewController {
override func viewDidLoad() {
...
// "webView" is the first web view. Open a second one...
webView = WKWebView()
webView.uiDelegate = self
webView.evaluateJavaScript("window.open('about:blank');")
}
}
extension MyVC : WKUIDelegate {
func webView(... createWebViewWith ...) -> WKWebView? {
let newWebView = WKWebView(frame: webView.bounds,
configuration: configuration)
newWebView.load(navigationAction.request)
let vc = UIViewController()
vc.view.addSubview(newWebView)
navigationController?.pushViewController(vc, animated: true)
return nil
}
}
有没有办法设置 opener 属性?
【问题讨论】: