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

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


当前回答

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

其他回答

Chrome有一个很棒的功能,可以简单地将实际的Android Chrome内容(包括检查等)显示到PC屏幕上…

在设备上打开USB调试,也许你还需要通过adb设备连接一次,以触发移动设备上的“允许与…通信”对话框, 将Android设备连接到PC上, 在两者上启动Chrome,然后 然后浏览chrome://inspect/# PC上的设备。 这里列出了来自手机Chrome的标签,可以检查。

网上也有详细的手册:https://www.till.net/technologie/html-javascript/remote-web-debugging-unter-android-und-chrome

(发现adb logcat在浏览器中什么都没有显示)

当运行Android模拟器时,打开你的谷歌Chrome浏览器,在“地址字段”中输入:

chrome://inspect/#devices

您将看到远程目标列表。找到你的目标,然后点击‘inspect’链接。

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

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

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

更新:远程调试

以前,控制台日志记录是在Android上调试JavaScript的最佳选择。这些天有了Chrome for Android远程调试,我们可以利用Chrome for Android桌面开发工具的所有优点。查看https://developers.google.com/chrome-developer-tools/docs/remote-debugging获取更多信息。


更新:JavaScript控制台

您还可以在URL栏中导航到about:debug,以激活调试菜单和最新Android设备的JavaScript错误控制台。您应该在浏览器顶部看到SHOW JAVASCRIPT CONSOLE。

目前在Android 4.0.3 (Ice Cream Sandwich)中,logcat输出到浏览器通道。所以你可以使用adb logcat browser:* *:S进行过滤。


原来的答案

您可以使用内置的控制台JavaScript对象来打印可以使用adb logcat检查的日志消息。

console.error('1');
console.info('2');
console.log('3');
console.warn('4')

产生如下输出:

D/WebCore (  165): Console: 1 line: 0 source: http://...
D/WebCore (  165): Console: 2 line: 0 source: http://...
D/WebCore (  165): Console: 3 line: 0 source: http://...
D/WebCore (  165): Console: 4 line: 0 source: http://...

确定WebKit的版本

如果你在位置栏中输入javascript:alert(navigator.userAgent),你会看到WebKit的版本。

铬: Mozilla / 5.0(窗口;U;Windows NT 5.1;en-US) AppleWebKit/532.2 (KHTML,如Gecko) Chrome/4.0.221.6 Safari/532.2

在Android模拟器上 Mozilla / 5.0 (Linux;U;Android 1.6;en - us;AppleWebKit/528.5+ (KHTML,如Gecko) Version/3.1.2 Mobile Safari/525.20.1 . sdk Build/DRC76)

N.B.

不属于Safari版本的WebKit版本号后面有一个+号,它们的版本号通常高于最新发布的WebKit版本号。例如,528+是一个非官方的WebKit版本,比525更新。x版本,作为Safari 3.1.2的一部分发布。

没有人提到liriliri/eruda,它为移动网站/应用程序添加了自己的调试工具

将此添加到您的页面:

<script src="//cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>

将在打开控制台的页面中添加一个浮动图标。