Android Studio (HTML/JavaScript) WebView JS aktivieren?
Hallo da ich in Android Studio meine HTML und JS dateien einbinden will, tue ich dies über Webview. HTML funktioniert, aber JS geht nicht
ich habe dafür in der MainActivity das hier eingefügt
WebView view = new WebView(this);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/index.html");
setContentView(view);
da ist zwar das view.getSettings().setJavaScriptEnabled(true); aber JS funkt trotzdem nicht. Danke im Vorraus!
1 Antwort
Deine HTML-Datei wird nicht über einen Webserver aufgerufen, sondern das Dateisystem, was wiederum eine Sicherheitslücke darstellen kann (lies hier). Folglich blockiert der Browser die Ausführung von JavaScript.
Ok, danke, aber wie kriege ich das hin, das wenn man auf der Website ist, und sozusagen einen anderen Link anklickt, (der nur auf eine andere HTML Datei führt) das es in der App bleibt. Also dass man nicht mehr auf z.B. https://test.com/index.html ist sondern https://test.com/test.html. Also das die neuen HTML Dateien die angeklickt werden in der App bleiben?
Du kannst deinem WebView einen WebViewClient zuordnen.
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
final Uri uri = request.getUrl();
view.loadUrl(uri.toString());
return true;
}
});
Jz ist nur noch getUrl() falsch https://prnt.sc/qn61zg
Heisst das es geht nur wenn ich es auf ein Webserver lade? Sonst garnet? Wenn wo gebe uch die Ip vom Server ein?