Sto riscontrando qualche problema nel trovare una WKWebView in iOS 8 per visualizzare una finestra di avviso chiamata da Javascript. Dopo aver creato un WKWebView standard e caricato un file HTML, ho un pulsante sulla pagina che crea un semplice avviso con del testo. Funziona in UIWebView e in Google Chrome/Safari, ma non sembra funzionare in WKWebView. Qualsiasi aiuto è apprezzato.iOS WKWebView non mostra la finestra di avviso javascript()
La mia configurazione è la seguente:
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
config.allowsInlineMediaPlayback = YES;
config.mediaPlaybackRequiresUserAction = false;
_wkViewWeb = [[WKWebView alloc] initWithFrame:_viewWeb.frame config];
_wkViewWeb.scrollView.scrollEnabled = NO;
NSString *fullURL = @"file://.../TestSlide.html";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
[_wkViewWeb loadRequest:request];
L'HTML ha la seguente funzione:
<SCRIPT Language="JavaScript">
function alertTest() {
alert("Testing Alerts");
}
</SCRIPT>
e un pulsante:
<b>Test Alerts: <input type="button" value="Alert Popup" onclick="alertTest()"><br></b> <br>
Questa configurazione funziona in UIWebView e regolare browser, ma non funziona in WKWebView. Mi manca qualcosa nella configurazione? Dovrei usare uno dei delegati WK per controllare il comportamento di avviso/conferma? Grazie.
sto affrontando lo stesso problema. Inoltre, non riesco a collegare l'ispettore safari al mio ipad in modo da non visualizzare avvisi o console.log. Questo rende lo sviluppo sulla wkwebview praticamente un inferno sulla terra. – ruipacheco
puoi provare ad ospitare il file html e provare "http: //" invece di "file: //", potrebbe essere a causa di questo bug in wkwebview: http://www.openradar.me/radar?id=5839348817723392 – krisrak
I file html sono archiviati localmente in modo che possano essere accessibili offline. Il file viene caricato senza problemi, è solo la finestra di avviso che non viene visualizzata quando si tocca il pulsante. – Charlie