我正在开发一个移动网站。它适用于 Firefox 桌面。它适用于 iPhone,但是当我在 Android 2.x(可能更低)上按下按钮时。我的 JavaScript 代码崩溃或其他什么...
我可以访问这些设备的记录器或 JavaScript 控制台吗?
更好的应该是一种 Firebug 应用程序。
我正在开发一个移动网站。它适用于 Firefox 桌面。它适用于 iPhone,但是当我在 Android 2.x(可能更低)上按下按钮时。我的 JavaScript 代码崩溃或其他什么...
我可以访问这些设备的记录器或 JavaScript 控制台吗?
更好的应该是一种 Firebug 应用程序。
一种选择是weinre。它与控制台一起提供 DOM 和样式编辑。如果您不想自己设置,可以在http://debug.phonegap.com上托管一个实例
另一个选项是JSHybugger。它无疑是适用于安卓浏览器的最完整的调试环境。这是一个付费产品,但可能值得。
Chrome 有一个非常好的功能,称为“USB Web 调试”,当通过 USB 连接时,它允许在您的 PC 上查看移动设备的调试控制台。
编辑:Windows 8 似乎不支持 ADB,但这个链接似乎提供了一个解决方案:
http://mikemurko.com/general/chrome-remote-debugging-nexus-7-on-windows-8/
您可以about:debug
在某些移动浏览器中键入内容以调出 JavaScript 控制台。
我有时会将调试输出打印到浏览器窗口。使用jQuery,您可以将输出消息发送到页面上的显示区域:
<div id='display'></div>
$('#display').text('array length: ' + myArray.length);
或者,如果您想在不向页面添加显示区域的情况下查看 JavaScript 变量:
function debug(txt) {
$('body').append("<div style='width:300px;background:orange;padding:3px;font-size:13px'>" + txt + "</div>");
}
我有同样的问题,只需使用console.log(...)
(如 firebug),并安装一个日志查看器应用程序,这将允许您查看浏览器的所有日志。
我们在我们的项目中按照以下步骤在移动设备上调试网站。
“USB Web 调试”是一种选择
“在屏幕上打印”另一个。
但我更喜欢通过正式称为adobe shadow的“ adobe edge inspect ”进行远程调试。它在内部使用weinre (=WEB INspect REmote)
您只需在浏览器 (Chrome) 中安装它 + 一个小插件和一个可以在 Play-store 中下载的免费应用程序。然后你就拥有了所有的工具,比如 Chrome 开发工具。
它还支持 iOS 和 Kindle Fire
更新
就像 Chris 注意到的那样,您必须付费订阅才能使用边缘检查。一个便宜的替代方法是直接使用 weinre,它是边缘检测的基础。这是一篇关于如何设置它的文章。
如果您使用的是 Cordova 3.3 或更高版本并且您的设备运行的是 Android 4.4 或更高版本,您可以使用“使用 Chrome 在 Android 上进行远程调试”。完整的说明在这里:
https://developer.chrome.com/devtools/docs/remote-debugging
总之:
或者,如果您使用的是 Cordova 3.3+ 并且没有具有 4.4 的物理设备,则可以使用使用 Android 4.4+ 的模拟器在台式计算机上通过模拟器运行应用程序。
你可以试试YConsole一个 js 嵌入式控制台。它重量轻且易于使用。
如何使用 :
<script type="text/javascript" src="js/YConsole-compiled.js"></script>
<script type="text/javascript" >YConsole.show();</script>
我在 android 上的 firefox 浏览器上安装了 firefox 的控制台插件(https://addons.mozilla.org/en-US/android/addon/console/),效果很好。帮助我调试了我的 angular2 应用程序。
我还寻找了一个简单的控制台替换,只是为了转储文本。所以我做的是这个功能:
function remoteLog (arg) {
var file = '/files/remoteLog.php';
$.post(file, {text: arg});
}
远程 PHP 文件将所有输出记录到arg
. 我花了 5 分钟(好吧,在服务器端,我使用了一个简单的日志库来记录和显示文本消息,但仍然......)。
如果您不介意通过 3rd 方服务器转发,JSConsole是一个相当有用的 JavaScript 远程调试器。
2013 年 12 月 3 日,谷歌推出了 Chrome DevTools for Mobile,它允许开发人员通过零配置的模拟和屏幕投射远程调试移动 Web 应用程序。
对于所有功能,请查看Paul Irish 在 YouTube 上的演讲。
我最近编写了一个工具,用于在可移动/可调整大小的“窗口”(实际上是一个 div)中显示控制台日志。它提供了与 Firebug 控制台类似的功能,但您可以在平板电脑上的页面上看到它。平板电脑/智能手机/平板调试控制台
MobileConsole 可以嵌入到任何页面中进行调试。它将捕获错误并完全按照浏览器中的原生 JavaScript 控制台运行。它还通过 window.console 的 API 输出您编写的所有日志。