アプリのWebViewでJavaScriptを実行しようとしています。 Nexus 7で開発しています。
Html/javascriptはChromiumでは正常に動作しますが、タブレットで特定のアクションが実行されません。タブレットでJavaScript自体が失敗しているかどうかを確認する方法はありますか?一種のコンソールビュー?
実際にWebViewからコンソールメッセージを受信できます。これにより、スローするエラーをキャッチできます。
そうするには:
例:
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));
here と同じですが、そのドキュメントは完全ではなく、非推奨のメソッドを使用しています。
Android KitKatで実行している場合は、リモートデバッグを 有効にすることもできます!
Remote Debugging WebViews
を使用できます
ネイティブでWebViewをデバッグするAndroidアプリを使用してChrome開発者ツール。
Android 4.4(KitKat)以降では、DevToolsを使用して、ネイティブAndroidアプリケーションのWebViewコンテンツをデバッグします。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KitKat) {
WebView.setWebContentsDebuggingEnabled(true);
}
Firebug lite を使用できる場合があります。これは単なるブックマークレットなので、どのページでも開くことができます。
また、他にも多くの同様の質問があるので検索してください。