Android Studio (HTML/JavaScript) WebView JS aktivieren?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

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.

troloxi 
Fragesteller
 12.01.2020, 14:46

Heisst das es geht nur wenn ich es auf ein Webserver lade? Sonst garnet? Wenn wo gebe uch die Ip vom Server ein?

0
regex9  12.01.2020, 15:35
@troloxi

Ja.

Da wo du bisher den Dateipfad angegeben hast, muss stattdessen die Web-URL angegeben werden, die auf die Datei zeigt.

0
troloxi 
Fragesteller
 13.01.2020, 16:07
@regex9

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?

0
regex9  13.01.2020, 17:41
@troloxi

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;
  }
});
0
troloxi 
Fragesteller
 13.01.2020, 17:59
@regex9

In welcher Datei soll ich das hinzufügen? Sorry, kenne mich in Android Studio noch nicht so gut aus, will eh nur meine Website laufen lassen.

0
regex9  13.01.2020, 18:13
@troloxi
Du kannst deinem WebView einen WebViewClient zuordnen.
0
troloxi 
Fragesteller
 13.01.2020, 18:22
@regex9

Ja muss ich diesen Code in der MainActivity einfügen?

0
regex9  13.01.2020, 18:37
@troloxi

Sieht so aus, denn da ist ja auch dein WebView. 😉

Setze den Client am besten mal noch, bevor du überhaupt die URL laden lässt. Setup goes first.

0
troloxi 
Fragesteller
 13.01.2020, 18:55
@regex9

Was ist falsch? webview kennt er nicht, nur WebView

0
troloxi 
Fragesteller
 13.01.2020, 19:12
@regex9

Und die IP gebe ich wie vorher trotzdem bei view.loadURL ein?

0
regex9  13.01.2020, 19:43
@troloxi

Gib mal die Fehlermeldung an. Und schau, für welchen API Level (Min-SDK, Target SDK) du entwickelst. Wo das steht, musst mal selbst schauen.

0