Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android平板电脑/手机上调试javascript?_Javascript_Android_Ios_Debugging_Console - Fatal编程技术网

在Android平板电脑/手机上调试javascript?

在Android平板电脑/手机上调试javascript?,javascript,android,ios,debugging,console,Javascript,Android,Ios,Debugging,Console,如何像在iOS上的Safari中一样启用调试视图?我只需要查看我正在测试页面的Xoom是否生成javascript错误。我试图找到如何在Android浏览器中像在iOS上一样启用开发工具,但似乎找不到它。Android(目前)没有Chrome/Chrome那样的WebInspector 您仍然可以查看在logcat中的window.console下激发的任何console.log()消息 资料来源: 此外,虽然Firefox 4可用于Android,但Firebug目前在浏览器的移动版本上不受支

如何像在iOS上的Safari中一样启用调试视图?我只需要查看我正在测试页面的Xoom是否生成javascript错误。我试图找到如何在Android浏览器中像在iOS上一样启用开发工具,但似乎找不到它。

Android(目前)没有Chrome/Chrome那样的WebInspector

您仍然可以查看在logcat中的
window.console
下激发的任何console.log()消息

资料来源:


此外,虽然Firefox 4可用于Android,但Firebug目前在浏览器的移动版本上不受支持。

我过去曾开发过一款Android应用程序,java开发人员将其设置为警告JavaScript错误,但它捕获了一个额外的bug,而我们在iOS版本中没有捕获到它。因此,如果您有权访问java层,我会检查一下。我问他具体做了什么,他说: “WebView类有一个回调,它让我知道JS代码何时抛出错误。我实现该回调是为了显示一个android对话框。”

除此之外,我还使用了两种解决方案(ios/android)进行调试。对于无法访问内置控制台的游戏中的嵌入式web视图,这些视图尤其有用:

1) 仍然是测试版,但功能强大的远程调试器。它将在桌面上为您提供一个人造检查器,您可以使用它查询/查看远程设备上的错误。有一个完整的dom检查器和任何东西。开发它的人也很有反应能力

2) 我编写了一个javascript日志函数,该函数会命中我的服务器错误日志。只要跟踪日志文件就可以了。我的javascript函数如下所示:

function hlog(){
    var s = Array.prototype.slice.apply(arguments).join('¶');
    document.createElement('img').src = 'http://yourdevbox/debugger/?m=' + encodeURIComponent(s);
}
# ensure this can't be used in production 
if (strpos($GLOBALS['HTTP_HOST'], 'devboxhostname') < 0) die(':(');
error_log($_GET['m']);
这样我就可以接受任意数量的参数。 接收此请求的我的php页面如下所示:

function hlog(){
    var s = Array.prototype.slice.apply(arguments).join('¶');
    document.createElement('img').src = 'http://yourdevbox/debugger/?m=' + encodeURIComponent(s);
}
# ensure this can't be used in production 
if (strpos($GLOBALS['HTTP_HOST'], 'devboxhostname') < 0) die(':(');
error_log($_GET['m']);
#确保这不能用于生产
如果(strpos($GLOBALS['HTTP_HOST'],'devboxhostname')<0)死亡(':(');
错误日志($获取['m']);

希望在未来,移动开发人员将拥有更好的调试工具。

您最好使用
控制台.log()
(如firebug),然后在您的手机上安装日志查看器,基于
浏览器进行过滤,您可以看到所有
控制台
消息。(

Android默认设置似乎没有调试器,尽管你可以在使用相同webkit渲染的pc上使用chrome/chrome进行调试(甚至有一个模拟Android选项,但它没有Android平板电脑的所有怪癖、图像/内存限制等)

Firebug Lite也是一种可能性: 试试看 /

“Weinre是网页的调试器,如FireBug(用于FireFox)和web Inspector(用于基于WebKit的浏览器),但它的设计目的是远程工作,特别是允许您在手机等移动设备上调试网页。”

您可以看看其他一些远程调试工具:jsconsole
Aardwolf

在url字段中键入about:debug,然后验证,javascript控制台将可用(删除它的方法相同)


本页的更多内容:

您不必安装任何软件,也不必在您的微型手机屏幕上调试。 首先在“开发者设置”中启用设备中的USB调试,然后使用桌面chrome连接并调试移动浏览器

我发现最简单的方法是在手机/平板电脑上启用USB调试,并在桌面上导航到chrome

chrome://inspect/#devices
启用查找usb设备,然后在应用程序列表上单击“检查”


瞧!远程调试!现在你可以在舒适的桌面上调试你的手机了

+100万。Weinre非常棒。移动设备的Webkit开发工具。回答很好。我已经开始使用Weinre,它很有用,但似乎不会在控制台上打印任何javascript错误。如果这有什么不同,我正在使用phonegap进行开发。有什么问题吗建议?@Mauvis Ledford“WebView类有一个回调,它让我知道JS代码何时抛出错误。我实现了这个回调以显示一个android对话框。“这个方法的名称是什么?如果不是秘密:)Artem:对不起,我不知道,不再与那家公司合作。记录JS输出并查看日志的最简单方法。哇,我很惊讶这么简单。谢谢请注意,这是针对股票浏览器,而不是Chrome。这是针对基于Webkit的股票浏览器,而不是较新的基于Chrome的股票浏览器(4.2+)