在Internet Explorer中调试JavaScript

4
我正在开发一个比较复杂的JavaScript驱动网站。在除了Internet Explorer(7,这个版本是我们公司的标准)之外的所有浏览器中都运行良好。我遇到了这个非常奇怪的错误:
“发生了运行时错误。您是否要调试?行:93,865,600。错误:预期';'”
问题是,我的代码没有9300万行,而且点击“是”不像通常那样连接到Visual Studio。
我可以点击“否”,网站继续正常运行,但如果用户没有禁用JavaScript调试,我不希望他们看到这个无意义的错误。
有什么建议/工具/插件可以解决这个问题吗?
还有,是的,我已经吸取了教训,更频繁地在Internet Explorer中切换并检查我的项目...
谢谢。

你使用的是压缩过的框架吗? - Robusto
我会继续编写代码,使其达到9400万行,以赶上IE7。 - Nosredna
我们还没有进行任何代码压缩。 - Erik W
它还没有在IE6和8上进行测试。 - Erik W
警告,警告,警告,警告,调试非常容易 :) - user216441
显示剩余2条评论
4个回答

2

Dynatrace帮助我追踪到一些JQuery代码,在JSON-P调用之后:head.insertBefore(script, head.firstChild);我知道如果HTML无效,这是在IE7中非常脆弱的调用...这是一个很好的开始,感谢你的帮助! - Erik W
很高兴听到你正在取得进展。 - Nosredna

1

以下是我在IE上使用的一些调试工具。

并且在IE中,可以在选项下让它对遇到的每个错误都进行报告。这里是如何操作的说明,您还可以在幻灯片中阅读非常有用的调试提示。

这将更好地展示错误发生的位置。如果这样仍然不起作用,您可能需要尝试通过不包括其中的部分来分解脚本,以查看哪些部分或哪个特定的JS脚本文件会给您带来问题。


1
在我发布这篇文章之前,我实际上已经看过那个页面,并确保那些复选框都没有被选中,还尝试了使用MS Script Debugger,但没有成功。IE Developer Toolbar似乎没有给我任何有用的工具来追踪这个问题,而Firebug Lite则有一个奇怪的副作用,会抑制错误... - Erik W

0

-1
我也会使用Fiddler2来查看浏览器接收到的确切文件。在这些文件被发送之前,服务器上可能有代码对其进行了调整。使用Fiddler,您可以看到浏览器正在接收什么。
同时,请确保您正在使用IE8,因为它内置了开发人员工具栏。如果没有IE8,请像“bron”所说的那样下载IE开发人员工具栏。

使用IE8时,请确保打开脚本调试。然后您可以直接在IE中进行调试,无需连接到Visual Studio。 - Glen Little
不幸的是,我使用的是IE7,因为这是应用程序用户将拥有的浏览器。目前没有任何机制会因为当前浏览器而提供不同的脚本。 - Erik W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接