Sie können JavaScript-Fehler mit den console
JavaScript APIs beheben und
die Ausgabemeldungen in Logcat. Wenn Sie mit dem Debugging von Webseiten
Firebug oder Web Inspector verwenden, sind Sie wahrscheinlich mit der Verwendung von console
(z. B. console.log()
). Das WebKit-Framework von Android unterstützt die meisten
APIs, sodass Sie beim Debugging in Ihrem
WebView
In diesem Thema wird beschrieben, wie Sie
die APIs der Konsole für
das Debugging.
Konsolen-APIs in WebView verwenden
Die Konsolen-APIs werden auch für die Fehlerbehebung in WebView
unterstützt. Du musst
eine
WebChromeClient
mit
die
onConsoleMessage()
-Methode, damit Konsolenmeldungen in Logcat angezeigt werden. Wenden Sie dann
WebChromeClient
auf WebView
mit
setWebChromeClient()
Weitere Informationen findest du in der Webview
.
Dokumentation.
Das folgende Beispiel zeigt, wie Console-APIs in WebView
verwendet werden:
Kotlin
val myWebView: WebView = findViewById(R.id.webview) myWebView.webChromeClient = object : WebChromeClient() { override fun onConsoleMessage(message: ConsoleMessage): Boolean { Log.d("MyApplication", "${message.message()} -- From line " + "${message.lineNumber()} of ${message.sourceId()}") return true } }
Java
WebView myWebView = findViewById(R.id.webview); myWebView.setWebChromeClient(new WebChromeClient() { @Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { Log.d("MyApplication", consoleMessage.message() + " -- From line " + consoleMessage.lineNumber() + " of " + consoleMessage.sourceId()); return true; } });
Das ConsoleMessage
enthält auch ein
MessageLevel
-Objekt
um den Typ der zugestellten Konsolennachricht anzugeben. Sie können die
Nachrichtenebene mit
messageLevel()
bis
den Schweregrad der Meldung zu ermitteln und
Log
aus oder führen Sie andere geeignete Aktionen aus.
Unabhängig davon, ob Sie
onConsoleMessage(String, int, String)
oder
onConsoleMessage(ConsoleMessage)
,
Wenn Sie eine Konsolenmethode auf Ihrer Webseite ausführen, ruft Android die
passend onConsoleMessage()
, damit Sie den Fehler melden können. Bei dem Beispielcode oben wird z. B. ein
Die Logcat-Nachricht wird folgendermaßen ausgegeben:
Hello World -- From line 82 of http://www.example.com/hello.html
Im Folgenden finden Sie zusätzliche Ressourcen zum Debugging:
Experimentelle Webfunktionen testen
Ähnlich wie auf der chrome://flags
-Seite von Google Chrome können Sie auch experimentelle
Webfunktionen in WebView
.
Gehen Sie dazu so vor:
Eine der Vorabveröffentlichungen von
WebView
installieren Kanäle (Beta, Entwickler oder Canary){: .external}.WebView
wechseln Kanal auf Ihrem Testgerät in die installierte Release-Version.Klicken Sie auf den Launcher WebView DevTools:
Abbildung 1: WebView-Entwicklertools-Symbol für App, die auf einem .Klicken Sie in den Entwicklertools auf Flags und suchen Sie nach experimentellen Funktionen. die Sie aktivieren oder deaktivieren möchten. Die Änderung gilt für alle
WebView
Instanzen in auf dem Gerät.Beende deine App und starte sie neu, um sie mit den neuen Funktionen zu testen.
Weitere Informationen zum Wechseln von Flags findest du in den WebView
-Entwicklertools
Dokumentation.