Vous pouvez déboguer votre code JavaScript à l'aide des API JavaScript console
et afficher
les messages de sortie dans Logcat. Si vous êtes familier avec le débogage
de pages Web avec
Firebug ou Web Inspector, vous savez probablement utiliser console
.
(par exemple, console.log()
). Le framework WebKit d'Android prend en charge la plupart
Vous pouvez ainsi recevoir les journaux de votre page Web lors du débogage dans
WebView
Cet article 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 prises en charge lors du débogage dans WebView
. Vous devez
fournissez une
WebChromeClient
qui implémente
la
onConsoleMessage()
permettant aux messages de la console d'apparaître dans Logcat. Ensuite, appliquez la méthode
WebChromeClient
à votre WebView
avec
setWebChromeClient()
Pour en savoir plus, consultez le Webview
dans la documentation Google Cloud.
L'exemple suivant montre comment utiliser les API de la 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; } });
Le ConsoleMessage
inclut également un
Objet MessageLevel
pour indiquer le type de message de console distribué. Vous pouvez interroger
au niveau du message avec
messageLevel()
jusqu'à
déterminer la gravité du message, utilisez la méthode
Log
ou prendre les mesures appropriées.
Que vous utilisiez
onConsoleMessage(String, int, String)
ou
onConsoleMessage(ConsoleMessage)
,
Lorsque vous exécutez une méthode de console sur votre page Web, Android appelle la méthode
onConsoleMessage()
approprié
afin de pouvoir signaler l'erreur. Dans l'exemple de code ci-dessus,
Le message Logcat s'affiche, semblable à celui-ci:
Hello World -- From line 82 of http://www.example.com/hello.html
Voici des ressources supplémentaires liées au débogage:
Tester des fonctionnalités Web expérimentales
Comme pour la page chrome://flags
de Google Chrome, vous pouvez tester des
Web de WebView
.
Pour ce faire, procédez comme suit:
Installer l'une des versions préliminaires d'
WebView
canaux (bêta, dev ou Canary){: .external}.Changez de
WebView
canal sur votre appareil de test vers la version préliminaire installée.Cliquez sur le lanceur d'applications WebView DevTools:
Dans les outils de développement, cliquez sur Options et recherchez toutes les fonctionnalités expérimentales. que vous souhaitez activer ou désactiver. La modification s'applique à toutes les instances
WebView
sur 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 indicateurs, consultez la page Outils de développement WebView
documentation.