所以iOS6已经出局了,可怕。现在,似乎Apple已经删除了以前在Safari中存在的“开发者控制台”。很好,我听到很多人说 - 它很有限。
但是,它在 设备上工作 - 现在显然你必须将设备连接到Mac才能获得网络检查员?
这是使用控制台进行调试的唯一方法吗?有没有办法调试Windows,Safari?请注意,我并不仅仅意味着只需更改用户代理,您可以在Safari Windows上执行 - 不注册触摸事件 - 只需单击即可。
答案 0 :(得分:7)
如果您没有Mac OSX,可以使用此脚本作为控制台替换:
https://github.com/robotnic/waterbug
它显示错误信息,可以记录所有类型的变量,您必须将iPhone或iPad向右旋转90°才能打开控制台。
答案 1 :(得分:4)
可以使用bookmarklet调试 on 设备(特别是在Mobile Safari中)。
如果错误仅在设备上显示,而在其他地方不存在,则在设备上进行调试非常重要。开发人员有各种各样的书签,因此请选择您选择的工具(例如Firebug Lite),将其添加到书签中,并在您需要的地方使用它。 这可能不是开发者控制台,但它是一种调试更加准确和面向工作的方法。
我写了一篇关于如何在我的博客上使用bookmarklet的博客文章(还有一个其他常用测试工具和更多书签的列表):
更新:Chrome发布了其移动DevTools,这将使调试(在Google Chome Mobile内,仅限Android设备)变得更加容易。这不会修复Safari中丢失的DevTools问题,但它可能有助于找到 on 设备上的错误:
UPDATE2:Mozilla发布了一个Firefox附加组件,支持跨浏览器和设备的Web开发:http://youtu.be/kEFbQwB81RE?t=1m58s
答案 2 :(得分:4)
糟糕的勒芒调试控制台:
try {
var test = document.do.something();
}
catch (exc) {
alert(exc);
}
答案 3 :(得分:3)
寻找weinre。它允许您使用类似Chrome的Web检查器从另一台计算机检查Safari中运行的页面
答案 4 :(得分:1)
您可以使用window.onerror
来调试错误,而无需控制台。只需将此代码添加到您自己的Using query : split(x, '|') [0] as abc, split(x, '|') [1] as bcd,
Input field x = 234324234|4873264962
Required output:
column 1: abc 234324234
column 2: bcd 4873264962
标签中的HTML文档中,再添加任何其他Javascript代码即可:
<script>
这样做将使每当发生错误时,错误消息将显示在<script type="text/javascript">
window.onerror = function(e){
alert(e);
};
</script>
对话框中,该对话框在iOS Safari中可见。重要的是,上述代码必须在要调试的错误之前运行,并且如果要调试语法错误,则必须将其放在单独的alert
标签中。
答案 5 :(得分:0)
看起来内置的控制台已经不见了。我尝试插入Windows 7并打开Safari,无法找到开发者控制台。然后我读了this article确认了它。
如果您需要能够在两个方向上测试您的网站,那么waterbug不是一个好选择,因为它会在控制台视图中使用横向方向。
一个不错的选择是使用Adobe Edge Inspect。您在Chrome上打开网站并在设备上打开该应用,您的设备将镜像您在桌面上打开的任何页面。然后,您可以使用Chrome开发工具调试您的内容。
答案 6 :(得分:0)
而不是Windows上的Safari,您可以使用Telerik称为AppBuilder的应用程序。我在this blog找到了相关说明。您需要获得一个帐户才能使用Telerik平台。
这将为您提供开发工具,如Safari中的工具。我已经在Win7 64位上使用它,使用常规网络应用程序和在iOS 7.1上运行的Phonegap应用程序。
答案 7 :(得分:0)
像neno建议的那样,Telerik AppBuilder是一款出色的应用程序。我实际上是在Linux上的虚拟机中运行Windows XP,仅用于调试我的iPhone。 Windows XP,因为在我的情况下,Windows 7会重新识别iPhone,但iTunes和Telerik AppBuilder却没有。