2010-07-25 71 views
3

我有一些旧的JavaScript代码从2000-2002左右哪个(令人惊讶的)仍然在IE中工作,但不在Firefox,Chrome,Opera等。我已经发现了一些怪癖,一些浏览器做这样的事情,另一个。所以在互联网上有代码片段来创建一些浏览器平台独立功能。如何调试javascript?

现在我的问题是,甚至找到问题。现在,网站上有按钮,当我点击它们时,IE中发生了一些事情,但Firefox什么都没做。甚至没有errormsg。我尝试了一下JavaScript Firebug,但是在代码中的某个时候,当我执行下一个调试步骤时,脚本似乎中止了,没有任何错误消息。它不会继续下一个陈述。很奇怪,我不知道是什么原因或如何修复它。 :/

那么如何调试javascript,以便我得到错误消息告诉我什么问题是,例如,我使用的是什么函数/变量没有在Firefox中定义或当我使用错误的参数。

THX &问候 马克

+0

Firebug将是你最好的朋友,擅长这一点。确保你正在进入函数调用,而不是他们。但是你仍然应该看到错误。如果您发布代码,我们可以成为您的朋友;) – Matt 2010-07-25 21:18:15

+0

(Google)Chrome开发人员工具也非常方便。您可能会看到如果您使用这些警告或问题,他们可能会帮助您在Firefox中修复它。 – 2010-07-25 21:20:38

+0

如果你的代码在IE中运行,但不是其他浏览器,你的代码是错误的:D(上帝,我讨厌IE浏览器!!!) – 2010-07-26 01:01:58

回答

2

Firefox不会弹出错误消息或将它们置于状态栏(如IE)。您必须打开错误控制台才能查看错误。

Firefox将Javascript错误放入错误控制台,但也包含HTML和CSS错误和警告。

至于什么可能无法在代码中工作,有很多东西是IE特定的,并不适用于任何其他浏览器。在怪癖模式下IE和标准兼容模式下IE也有很大的区别。在页面中放入一个适当的文档类型,以使其在符合标准的模式下呈现,这将使IE更像其他浏览器,并且删除一些IE特定的怪癖。这可能会导致您的旧脚本停止工作,在这种情况下,您知道这可能是导致问题的一些IE特定功能。

+0

错误控制台非常有帮助。我仍然遇到了一个问题,它无法正常工作,也没有任何东西显示出来,但是其他所有控制台都显示或者帮助直接解决问题,或者暗示我可以谷歌。 :) – marc40000 2010-07-26 00:58:22

2

FireBug,但它仅适用于Firefox浏览器。

编辑:你好,你已经在你的问题中提到过这个。

+2

某些东西(“我尝试通过JavaScript Firebug”),让我觉得他知道Firebug。 – Matt 2010-07-25 21:19:02

+0

@Matt,是的,我完全赞同,也许如果我读完整个问题,我可能已经收集了有用的信息;'); – 2010-07-25 21:20:51

3

firefox for firefox是好的。 safari和chrome的控制台IMO更好。在任何一种情况下,右键单击该页面,点击“检查元素”,然后单击弹出窗格中的“控制台”选项卡。现在您会看到页面生成的任何错误和警告。

如果你真的想调试脚本,你可以点击“脚本”选项卡,并立即暂停执行或设置一个断点。然后,您可以逐行执行脚本,随时检查调用堆栈和监视列表。

+0

Chrome控制台的小建议:将代码分割成文件,就像使用定期的应用程序,使测试和调试更快,更容易。控制台显然会显示发生错误的文件名,这会让生活变得更容易一些。 – 2010-07-25 21:24:36