Sie können Ihr JavaScript mit den console
JavaScript APIs debuggen und die Ausgabemeldungen in Logcat ansehen. Wenn Sie mit dem Debuggen von Webseiten mit Firebug oder Web Inspector vertraut sind, kennen Sie wahrscheinlich auch console
(z. B. console.log()
). Das WebKit-Framework von Android unterstützt die meisten derselben APIs. Sie können also Protokolle von Ihrer Webseite erhalten, wenn Sie in WebView
debuggen. In diesem Abschnitt wird beschrieben, wie Sie die Console APIs zum Debuggen verwenden.
Console APIs in WebView verwenden
Die Console APIs werden auch beim Debuggen in WebView
unterstützt. Sie müssen eine WebChromeClient
angeben, die die Methode onConsoleMessage()
implementiert, damit Konsolenmeldungen in Logcat angezeigt werden. Wenden Sie dann die WebChromeClient
mit setWebChromeClient()
auf Ihre WebView
an.
Weitere Informationen finden Sie in der Dokumentation zu Webview
.
Das folgende Beispiel zeigt, wie Sie Console APIs in WebView
verwenden:
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; } });
ConsoleMessage
enthält außerdem ein MessageLevel
-Objekt, das den Typ der gesendeten Konsolennachricht angibt. Sie können die Nachrichtenebene mit messageLevel()
abfragen, um die Schwere der Nachricht zu bestimmen, und dann die entsprechende Log
-Methode verwenden oder andere geeignete Maßnahmen ergreifen.
Unabhängig davon, ob Sie onConsoleMessage(String, int, String)
oder onConsoleMessage(ConsoleMessage)
verwenden, ruft Android beim Ausführen einer Console-Methode auf Ihrer Webseite die entsprechende onConsoleMessage()
-Methode auf, damit Sie den Fehler melden können. Im Beispielcode oben wird beispielsweise eine Logcat-Nachricht ausgegeben, die so aussieht:
Hello World -- From line 82 of http://www.example.com/hello.html
Weitere Informationen zur Fehlerbehebung finden Sie hier:
Experimentelle Webfunktionen testen
Ähnlich wie auf der Seite chrome://flags
in Google Chrome können Sie auch in WebView
experimentelle Webfunktionen testen.
Gehen Sie dazu so vor:
Installieren Sie einen der
WebView
Pre-Release-Kanäle (Beta, Dev oder Canary){: .external}.Stellen Sie den
WebView
-Kanal auf Ihrem Testgerät auf den installierten Pre-Release-Kanal um.Klicken Sie auf den Launcher für die WebView DevTools:
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 auf dem Gerät.Beenden Sie die App und starten Sie sie neu, um die neuen Funktionen zu testen.
Weitere Informationen zum Aktivieren und Deaktivieren von Flags finden Sie in der WebView
-DevTools-Dokumentation.