【发布时间】:2011-08-09 01:24:55
【问题描述】:
如何像在 iOS 上的 Safari 中一样启用调试视图?我只需要查看我正在测试页面的 Xoom 是否会生成 javascript 错误。我试图找到如何像在 iOS 上一样在 Android 浏览器中启用开发工具,但似乎找不到它。
【问题讨论】:
标签: javascript android ios debugging console
如何像在 iOS 上的 Safari 中一样启用调试视图?我只需要查看我正在测试页面的 Xoom 是否会生成 javascript 错误。我试图找到如何像在 iOS 上一样在 Android 浏览器中启用开发工具,但似乎找不到它。
【问题讨论】:
标签: javascript android ios debugging console
您无需安装任何软件或尝试在您的移动小屏幕上进行调试。 首先在您的设备中的“开发者设置”中启用USB调试,然后使用您的桌面chrome连接并调试移动浏览器。
我发现最简单的方法是在手机/平板电脑上启用 USB 调试,然后在桌面上将 chrome 导航到
chrome://inspect/#devices
启用发现 USB 设备,然后在应用列表中单击“检查”
瞧!远程调试!现在您可以在舒适的桌面上调试手机
【讨论】:
Opera mobile 具有远程调试功能: http://dev.opera.com/articles/view/remote-debugging-with-opera-dragonfly/
Android 默认似乎没有调试器,尽管您可以在使用相同 webkit 渲染的 PC 上的 chrome/chromium 上进行调试。 (甚至还有一个模拟 Android 选项,但它没有 Android 平板电脑的所有怪癖、图像/内存限制等)
Firebug Lite 也是一种可能性: http://getfirebug.com/firebuglite
【讨论】:
我过去曾开发过一个 Android 应用程序,Java 开发人员将其设置为警告 JavaScript 错误 - 发现了一个额外的错误,因此我们在 iOS 版本中没有发现它。因此,如果您可以访问 java 层,我会检查一下。我问他具体做了什么,他说: “WebView 类有一个回调,可以让我知道 JS 代码何时抛出错误。我实现了该回调以显示一个 android 对话框。”
除此之外,我还有两个解决方案用于调试(ios/android)。这些对于您无法访问内置控制台的游戏中的嵌入式 Web 视图特别有用:
1) Weinre 仍然是测试版,但功能强大的远程调试器。它会在您的桌面上为您提供一个人造检查器,您可以使用它来查询/查看远程设备上的错误。有一个完整的dom检查员和任何东西。开发它的人也反应灵敏。
2) 我编写了一个 javascript 日志函数来访问我的服务器错误日志。只需跟踪您的日志文件,您就可以开始了。我的 javascript 函数看起来像这样:
function hlog(){
var s = Array.prototype.slice.apply(arguments).join('¶');
document.createElement('img').src = 'http://yourdevbox/debugger/?m=' + encodeURIComponent(s);
}
这样我可以接受任意数量的参数。 我收到此请求的 php 页面如下所示:
# ensure this can't be used in production
if (strpos($GLOBALS['HTTP_HOST'], 'devboxhostname') < 0) die(':(');
error_log($_GET['m']);
希望在未来,移动开发者将拥有更好的调试工具。
【讨论】:
在 url 字段中输入 about:debug 并验证,然后将提供一个 javascript 控制台(删除方法相同)
【讨论】:
试试 Weinre: Web Inspector Remote / Watch demo
“Weinre 是一个网页调试器,例如 FireBug(用于 FireFox)和 Web Inspector(用于基于 WebKit 的浏览器),但它被设计为远程工作,特别是允许您在移动设备上调试网页比如手机。”
您可以看看其他一些远程调试工具:jsconsole 或 土狼
【讨论】:
你能做的最好的就是使用console.log()(类似firebug),然后在你的手机上安装一个日志查看器,根据browser进行过滤,你就可以看到所有console的消息。 (source)
【讨论】:
Android(目前)没有像 Chrome/Chromium 那样的 WebInspector。
您仍然可以在 logcat 中查看在 window.console 下触发的任何 console.log() 消息。
来源:http://developer.android.com/guide/webapps/debugging.html
此外,虽然 Firefox 4 可用于 Android,但 Firebug 目前在浏览器的移动版本上不受支持。
【讨论】: