Ich möchte etwas Javascript in ein WebView injizieren, nachdem eine Seite geladen wird, die den Benutzer daran hindern, von dieser Seite weg zu navigieren.Verhindern von Android WebView Navigation mit Javascript
Es gibt Links auf dieser Seite, die Javascript verwenden, um den Benutzer zu navigieren, so WebViewClient::shouldOverrideUrlLoading
ist nicht ausreichend. Es wird nicht einmal gefeuert.
private final String javascript = "javascript:window.onbeforeunload = function(){ return false; };"
public void onPageFinished(WebView view, String url) {
getWebView().loadUrl(javascript);
}
Ich hatte gehofft der obige Code würde funktionieren, aber es nicht. Durch das Tippen auf verschiedene Elemente kann der Benutzer weiterhin von der Start-URL weg navigieren.
Gibt es eine Möglichkeit, dies zu tun?
Also ich denke, das wird nicht ganz Arbeit für mich. Etwas, das ich in meinem ursprünglichen Post nicht angegeben habe, ist, dass ich versuche, den Benutzer, der auf Navigationslinks tippt, einzufangen und die Android Browser App mit dieser URL zu starten. Ich habe das erfolgreich gemacht. Wenn der Benutzer jedoch die Zurück-Schaltfläche drückt und zu meiner Anwendung zurückkehrt, hat sich das WebView ebenfalls vorwärts bewegt. – Andrew
Ich habe programmgesteuert versucht, 'goBack()' auf dem WebView aufzurufen, und das funktioniert. Der Benutzer sieht jedoch, dass die Seite hin und her wechselt, und es ist keine großartige Erfahrung. – Andrew