我正在开发手机网站。它适用于Firefox桌面。它可以在iPhone上使用,但是当我在Android 2.x(或更低版本)上按按钮时。我的JavaScript代码崩溃或其他什么情况...
我可以访问那些设备的记录器或JavaScript控制台吗?
更好的应该是一种Firebug应用程序。
我正在开发手机网站。它适用于Firefox桌面。它可以在iPhone上使用,但是当我在Android 2.x(或更低版本)上按按钮时。我的JavaScript代码崩溃或其他什么情况...
我可以访问那些设备的记录器或JavaScript控制台吗?
更好的应该是一种Firebug应用程序。
Answers:
一种选择是weinre。它与控制台一起提供DOM和样式编辑。如果您不想自己进行设置,则可以在http://debug.phonegap.com上托管一个实例。
另一个选项是JSHybugger。这肯定是可用于android浏览器的最完整的调试环境。这是一种付费产品,但可能值得。
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>");
}
“ USB Web调试”是一种选择
“在屏幕上打印”另一个。
但是我更喜欢通过“ adobe edge inspect ”进行远程调试,正式称为adobe shadow。它使用Weinre内部(= WEb检查远程)
您只需在浏览器(Chrome)中安装+一个小插件,然后即可在Play商店中下载免费的应用即可。然后,您将拥有所有工具,例如Chrome开发工具。
它还支持iOS和Kindle Fire
更新资料
就像克里斯注意到的那样,您必须付费才能使用边缘检查。便宜的替代方法是直接使用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+的模拟器通过模拟器运行应用程序。
我在android的firefox浏览器上安装了firefox的控制台插件(https://addons.mozilla.org/en-US/android/addon/console/),它运行得很好。帮助我调试了angular2应用。
我最近编写了一个工具,用于在可移动/可调整大小的“窗口”(实际上是div)中显示控制台日志。它提供了与Firebug控制台类似的功能,但是您可以在平板电脑上的页面上看到它。平板电脑/智能手机/平板调试控制台
我还寻找了一个简单的控制台替代品,只是为了转储文本。所以我要做的就是这个功能:
function remoteLog (arg) {
var file = '/files/remoteLog.php';
$.post(file, {text: arg});
}
远程PHP文件将所有输出记录到中的数据库中arg
。我花了5分钟的时间(好的,在服务器端,我使用了一个简单的日志记录库来记录和显示文本消息,但仍然...)。
Google于2013年12月3日推出了Chrome DevTools for Mobile,使开发人员可以通过使用零配置的仿真和屏幕广播来远程调试移动Web应用程序。
有关所有功能,请查看Paul Irish在YouTube上的演讲。
MobileConsole可以嵌入任何页面中进行调试。它会捕获错误,并且行为与浏览器中的本机JavaScript控制台完全相同。它还会输出您通过window.console的API编写的所有日志。