2015-10-17 14 views
6

Có vẻ như nhiều liên kết trên trang web sử dụng window.open trong trình xử lý onclick của họ nhưng WKWebView dường như hoàn toàn bỏ qua window.open.WKWebView và window.open

Có cách giải quyết nào cho vấn đề này không?

tôi đã cố gắng thiết lập javaScriptCanOpenWindowsAutomatically ưu tiên cho đúng nhưng điều đó dường như không để giúp

Trả lời

14

Khi một ứng dụng web gọi window.open() trong JavaScript, các WKWebView sẽ gọi phương thức - webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures: trên nó UIDelegate.

Trong phương thức ủy nhiệm đó, bạn nên tạo WKWebView mới với WKWebViewConfiguration được cấp cho bạn. Nếu bạn trình bày màn hình WKWebView mới này, màn hình sẽ tải với nội dung chính xác.

Điều này được ghi lại trong WKUIDelegate documentation, mặc dù không rõ ràng rằng điều này được gọi là kết quả của window.open().