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