Vous pouvez déboguer votre code JavaScript à l'aide des API JavaScript console
et afficher les messages de sortie dans Logcat. Si vous savez déboguer des pages Web avec Firebug ou Web Inspector, vous savez probablement utiliser console
(par exemple, console.log()
). Le framework WebKit d'Android est compatible avec la plupart des mêmes API. Vous pouvez donc recevoir des journaux de votre page Web lors du débogage dans votre WebView
. Cette section explique comment utiliser les API de la console pour le débogage.
Utiliser les API de la console dans WebView
Les API de la console sont également compatibles avec le débogage dans WebView
. Vous devez fournir un WebChromeClient
qui implémente la méthode onConsoleMessage()
pour que les messages de console s'affichent dans Logcat. Ensuite, appliquez WebChromeClient
à votre WebView
avec setWebChromeClient()
.
Pour en savoir plus, consultez la documentation sur Webview
.
L'exemple suivant montre comment utiliser les API de console dans WebView
:
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
inclut également un objet MessageLevel
pour indiquer le type de message de console envoyé. Vous pouvez interroger le niveau du message avec messageLevel()
pour déterminer la gravité du message, puis utiliser la méthode Log
appropriée ou prendre d'autres mesures appropriées.
Que vous utilisiez onConsoleMessage(String, int, String)
ou onConsoleMessage(ConsoleMessage)
, lorsque vous exécutez une méthode de console dans votre page Web, Android appelle la méthode onConsoleMessage()
appropriée afin que vous puissiez signaler l'erreur. Par exemple, avec l'exemple de code ci-dessus, un message Logcat s'affiche comme suit:
Hello World -- From line 82 of http://www.example.com/hello.html
Vous trouverez ci-dessous d'autres ressources sur le débogage:
Tester des fonctionnalités Web expérimentales
Comme sur la page chrome://flags
de Google Chrome, vous pouvez également tester les fonctionnalités Web expérimentales dans WebView
.
Pour ce faire, procédez comme suit:
Installez l'une des versions préliminaires
WebView
(bêta, en développement ou Canary){: .external}.Passez la chaîne
WebView
sur votre appareil de test à la version préliminaire installée.Cliquez sur le lanceur d'applications WebView DevTools:
Dans les outils de développement, cliquez sur Flags (Options) et recherchez les fonctionnalités expérimentales que vous souhaitez activer ou désactiver. La modification s'applique à toutes les instances
WebView
de l'appareil.Arrêtez et redémarrez votre application pour commencer à tester les nouvelles fonctionnalités.
Pour en savoir plus sur l'activation/la désactivation des options, consultez la documentation des outils de développement WebView
.