当你调用一个控制台功能(在DOM的window.console对象),输出出现在logcat中。例如,如果你的网页执行下面的JavaScript:
console.log("Hello World");然后logcat的消息看起来是这样的:
Console: Hello World http://www.example.com/hello.html :82该消息的格式取决于您所使用的Android版本可能会出现不同的。在Android 2.1及更高版本,Android浏览器控制台消息的标签名称为“浏览器”。在Android1.6和更低的,Android浏览器的消息的标签名称为“WebCore的”。
console.log(String)
console.info(String
console.warn(String)
console.error(String)
WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebChromeClient(new WebChromeClient() { public void onConsoleMessage(String message, int lineNumber, String sourceID) { Log.d("MyApplication", message + " -- From line " + lineNumber + " of " + sourceID); } });但是,如果你的最低支持的版本是API级别8或更高,则应该实现onConsoleMessage(控制台消息) 例如:
WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cm) { Log.d("MyApplication", cm.控制台消息还包括一个MessageLevel对象,以指示被输送控制台消息的类型。您可以查询与messageLevel()消息级别来确定消息的严重程度,然后使用适当的Log方法或采取其他适当的行动。message()
+ " -- From line " + cm.lineNumber()
+ " of " + cm.sourceId()
); return true; } });
Hello World -- From line 82 of http://www.example.com/hello.html