2015-10-17 13 views
6

Sembra che molti link sui siti web utilizzino window.open nei loro gestori onclick, ma WKWebView sembra ignorare completamente window.open.WKWebView e window.open

Esiste una soluzione alternativa?

ho provato a installare javaScriptCanOpenWindowsAutomatically preferenza per vero, ma che non sembrano aiutare

risposta

14

Quando un'applicazione web chiama window.open() in JavaScript, il WKWebView chiamerà il metodo - webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures: sul suo UIDelegate.

In tale metodo delegato è necessario creare un nuovo WKWebView con lo WKWebViewConfiguration a cui è stato assegnato. Se presenti questo nuovo WKWebView sullo schermo, verrà caricato con il contenuto corretto.

Questo è documentato nello WKUIDelegate documentation, sebbene non sia molto esplicito che questo sia chiamato come risultato di window.open().