Puedes depurar tu JavaScript con las APIs de JavaScript de console
y ver
los mensajes de salida en Logcat. Si ya sabes cómo depurar páginas web
Firebug o Web Inspector, probablemente, ya sepas usar console
.
(por ejemplo, console.log()
). El framework WebKit de Android admite casi
para que puedas recibir registros desde tu página web cuando depures en tu
WebView
En este tema, se describe cómo usar
las APIs de la consola para la depuración.
Cómo usar las APIs de la consola en WebView
Las APIs de la consola también son compatibles con la depuración en WebView
. Debes
proporciona un
WebChromeClient
que implementa
el
onConsoleMessage()
método para que los mensajes de la consola aparezcan en Logcat. Luego, aplica el
WebChromeClient
a tu WebView
con
setWebChromeClient()
Para obtener más información, consulta la Webview
.
en la documentación de Google Cloud.
En el siguiente ejemplo, se muestra cómo usar las APIs de la consola en 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; } });
El objeto ConsoleMessage
también incluye un elemento
Objeto MessageLevel
para indicar el tipo de mensaje de la consola que se entrega. Puedes consultar
a nivel de mensaje con
messageLevel()
a
determinar la gravedad del mensaje y, luego, usar las medidas
Log
o realiza otras acciones apropiadas.
Ya sea que uses
onConsoleMessage(String, int, String)
o
onConsoleMessage(ConsoleMessage)
,
cuando ejecutas un método de la consola en tu página web, Android llama al
apropiado onConsoleMessage()
método para informar el error. Por ejemplo, con el código de ejemplo anterior, un
Se muestra un mensaje de Logcat que se ve de la siguiente manera:
Hello World -- From line 82 of http://www.example.com/hello.html
Los siguientes son recursos adicionales relacionados con la depuración:
Cómo probar funciones web experimentales
Al igual que en la página chrome://flags
de Google Chrome, también puedes probar las pruebas experimentales
funciones web en WebView
.
Para hacerlo, sigue estos pasos:
Instala una de las versiones previas al lanzamiento de
WebView
. canales (beta, dev, or canary){: .external}.Cambia el
WebView
canal en el dispositivo de prueba al canal instalado previo al lanzamiento.Haz clic en el selector de Herramientas para desarrolladores de WebView:
Figura 1: Ícono de Herramientas para desarrolladores de WebView para la app instalada en un dispositivo.En Herramientas para desarrolladores, haz clic en Marcas y busca funciones experimentales. que deseas habilitar o inhabilitar. El cambio se aplica a las
WebView
instancias de el dispositivo.Detén y reinicia la app para comenzar a realizar pruebas con las funciones nuevas.
Para obtener más información sobre cómo activar o desactivar las marcas, consulta las Herramientas para desarrolladores de WebView
.
documentación.