¿Cómo puedo ver errores de JavaScript en WebView en una aplicación para Android?
Estoy tratando de ejecutar javascript en WebView en una aplicación. Estoy desarrollando en Nexus 7.
El html / javascript funciona bien en Chromium, pero ciertas acciones no están ocurriendo en la tableta. ¿Hay una manera de ver si alguno de los javascript en sí está fallando en la tableta? ¿Una especie de vista de consola?
- Android: no se puede obtener javascript para trabajar en WebView incluso con setJavaScriptEnabled (true)
- ¿Cargar html local en WebView?
- Cómo mejorar el tiempo de carga de la vista web
- Webview con interfaz de JavaScript
- Android Webview: Ejecución de javascript desde el método java llamado desde javascript
- Modificar el título de la alerta () (Javascript en la vista Web de Android)
- Colocar una imagen dentro de una vista web y ajustarla al ancho
- ¿Qué es baseUrl en la vista web android?
- ¿Es posible utilizar content: // como fuente para un elemento <audio> en un WebView
- Android WebView addJavascriptInterface no funciona si la vista web se crea en la devolución de llamada de WebChromeClient # onCreateWindow
- Vista web de Android, haga que las URL se abran en diferentes navegadores
- JQuery getScript no funciona en Android WebView cuando se utiliza Activos locales / HTML / Recursos
- Android WebView se bloquea al hacer clic en un enlace
De hecho, puede recibir los mensajes de la consola desde un WebView, lo que le permitiría detectar los errores que arroja.
Para hacerlo:
- Habilitar JavaScript en su WebView
- Establecer un WebChromeClient
- Anular onConsoleMessage
Ejemplo:
final WebView webView = (WebView) findViewById(R.id.webview_terms_conditions); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { Log.d("MyApplication", consoleMessage.message() + " -- From line " + consoleMessage.lineNumber() + " of " + consoleMessage.sourceId()); return super.onConsoleMessage(consoleMessage); } }); webView.loadUrl(getString(R.string.url_terms_conditions));
Similar a lo que dice aquí , aunque ese documento no está completo y utiliza un método obsoleto.
Cuando se ejecuta en Android KitKat, también puede habilitar depuración remota!
Es posible que pueda utilizar Firebug lite . Es sólo un bookmarklet para que pueda abrirlo en cualquier página.
También, busque por favor allí es muchas otras preguntas similares:
- ¿Hay alguna manera de habilitar JavaScript Error / Debug Console para Safari en Android?
- Depuración de javascript en tablets / teléfonos Android?
- Android gradle src / androidTest / res / diseño / mylayout.xml no se encuentra en mypackage.R
- ¿Hay un trabajo alrededor para el error de Android "no poder resolver el método virtual java / beans / PropertyDescriptor"?