我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。

我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?


当前回答

你可以尝试YConsole一个js嵌入式控制台。它重量轻,使用简单。

捕获日志和错误。 对象编辑器。

使用方法:

<script type="text/javascript" src="js/YConsole-compiled.js"></script>
<script type="text/javascript" >YConsole.show();</script>

其他回答

我的解决方案是(对于普通浏览器):

股票的浏览器 " console .log"导入JS源代码 启用调试USB Android SDK 来自Android SDK: monitor.bat 监控过滤器作为附加的图像

我用Weinre,阿帕奇科多瓦的一部分。

使用Weinre,我可以在桌面浏览器中获得谷歌Chrome的调试控制台,并可以将Android连接到该调试控制台,并调试HTML和CSS。我可以在控制台中执行Javascript命令,这些命令会影响Android浏览器中的Web页面。来自Android的日志消息出现在桌面调试控制台中。

然而,我认为这是不可能查看或逐步通过实际的Javascript代码。所以我把Weinre和日志信息结合起来。

(我对JConsole了解不多,但在我看来,用JConsole检查HTML和CSS是不可能的,只有Javascript命令和日志记录(?))

如果您正在寻找非远程选项:

在早期和非根的Jellybean版本中,如果android.permission. logcat viewer可以使用。READL_LOGS通过adb授权一次。

在firefox上,有一个控制台插件可以读取并显示所有应用程序日志,还有firebug lite。

http://jsconsole.com (http://jsconsole.com/remote-debugging.html)提供了一种很好的方式,您可以使用它来访问您的网页内容。

试一试:

打开要调试的页面 而在该页面上,在普通Android浏览器的地址栏中输入: :调试 (注意什么都没有发生,但是启用了一些新的选项。)

在我试过的设备上都有效。阅读更多关于Android浏览器:调试,这些设置做什么?

编辑: 在脚本中添加以下代码也有助于检索更多信息,如行号:

window.onerror = function (message, url, lineNo){
    console.log('Error: ' + message + '\n' + 'Line Number: ' + lineNo);
    return true;
}