J'essaie d'exécuter javascript dans WebView dans une application. Je développe sur Nexus 7.
Le html/javascript fonctionne bien sur Chromium, mais certaines actions ne se produisent pas sur la tablette. Existe-t-il un moyen de voir si le javascript lui-même échoue sur la tablette? Une sorte de vue console?
Vous pouvez réellement recevoir les messages de la console à partir d'une WebView, ce qui vous permettrait de détecter les erreurs qu'elle génère.
Faire cela:
Exemple:
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));
Similaire à ce qu'il dit ici , bien que ce document ne soit pas complet et qu'il utilise une méthode déconseillée.
Lors de l'exécution sur Android KitKat, vous pouvez également activer le débogage à distance!
Vous pouvez utiliser Remote Debugging WebViews
Débogage à distance Chrome Devtools
Déboguez les WebViews dans vos applications Android Android en utilisant Chrome Developer Tools.
Sur Android 4.4 (KitKat) ou version ultérieure, utilisez DevTools pour déboguer le contenu WebView dans les applications natives Android Android.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KitKat) {
WebView.setWebContentsDebuggingEnabled(true);
}
Vous pourrez peut-être utiliser Firebug lite . C'est juste un bookmarklet pour que vous puissiez l'ouvrir sur n'importe quelle page.
Veuillez également rechercher de nombreuses autres questions similaires: