- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在从事一个涉及 Raphaeljs 的项目。事实证明,它在 Android 上不起作用。在 iPhone 上可以。
我到底要怎么调试 Android 浏览器上的东西?它是 WebKit,所以如果我知道版本,在 WebKit 的 完整 版本上调试它会产生相同的结果吗?
最佳答案
更新:远程调试
以前,控制台日志记录是在 Android 上调试 JavaScript 的最佳选择。如今,借助 Chrome for Android 远程调试,我们能够在 Android 上利用 Chrome for Desktop Developer Tools 的所有优点。查看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 输出到浏览器 channel 。因此,您可以使用 adb logcat browser:* *:S
进行过滤。
原始答案
您可以使用内置的 console
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 版本,例如
在 Chrome 中:Mozilla/5.0(Windows;U;Windows NT 5.1;en-US)AppleWebKit/532.2(KHTML,如 Gecko)Chrome/4.0.221.6 Safari/532.2
在安卓模拟器上Mozilla/5.0 (Linux; U; Android 1.6; en-us; sdk Build/DRC76) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
注意
不属于 Safari 版本的 WebKit 版本在版本号后有一个 +,它们的版本号通常高于最新发布的 WebKit 版本。因此,例如,528+ 是 WebKit 的非官方版本,它比作为 Safari 3.1.2 的一部分发布的 525.x 版本更新。
关于android - 如何在 Android 上调试 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39340637/
我是一名优秀的程序员,十分优秀!