我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。
我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?
我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。
我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?
当前回答
Raphael在3.0之前的Android浏览器上不支持,这就是你的问题所在。它们不支持SVG图形。不过它确实支持canvas。如果你不需要动画,你可以用canvas渲染图形:
http://code.google.com/p/canvg/
这就是我们如何在默认Android浏览器中呈现SVG图标的方法。
其他回答
放入地址行chrome://about。您将看到指向所有可能的开发页面的链接。
试一试:
打开要调试的页面 而在该页面上,在普通Android浏览器的地址栏中输入: :调试 (注意什么都没有发生,但是启用了一些新的选项。)
在我试过的设备上都有效。阅读更多关于Android浏览器:调试,这些设置做什么?
编辑: 在脚本中添加以下代码也有助于检索更多信息,如行号:
window.onerror = function (message, url, lineNo){
console.log('Error: ' + message + '\n' + 'Line Number: ' + lineNo);
return true;
}
仅供参考,RaphaelJS不能在android上运行的原因是android webkit(不像iPhone webkit)此时不支持SVG。谷歌最近才得出结论,SVG支持android是一个好主意,所以它在一段时间内还不会可用。
我用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。