Javascript错误行号

时间:2010-01-06 09:03:20

标签: javascript numbers line

我有一个包含大量javascript代码的jsp。每当页面上出现javascript错误(IE浏览器的状态栏中显示)时,报告包含错误的行号与实际包含错误的行号不匹配。 我正在右键单击>查看来源以查找报告的行号。但该行不包含错误。我想,错误在于其他一些方面。 可能是报告错误行号的原因。

请帮助。

5 个答案:

答案 0 :(得分:7)

正如其他答案所述,IE报告错误的行号是不好的。但是,IE8及更高版本中的built-in debugger(按F12)会更有帮助,所以我建议你尝试一下。

答案 1 :(得分:5)

经过大量试验,我发现了这个问题。希望这对面对这个令人沮丧的问题的一些人有用。

RightClick> View Source是浏览器看到呈现页面的代码。然而,这还不是全部。该页面还可能有其他对css ans js文件的HTTP请求。这就是我的情况。错误是在导入的( NOT INCLUDED ;如果包含错误将在代码上)js文件中。报告的行号与该js文件相关。

然而,回想起来,我发现这是正确的,因为导入的文件分别存储在浏览器缓存中,因为它们是对Web服务器的独立HTTP请求。因此不应出现在RightClick>查看源代码中。

潜在问题: 但是,虽然在我的情况下,报告的单个js文件中的行号被发现是正确的,但可能并非总是如此。 在大多数企业应用程序中,js和css经常被缩小以减少字节占用空间。因此,您在IDE中可能正在查看的js文件将与浏览器看到的不同。因此,行号可能不同。行号将是w.r.t浏览器看到的文件的压缩版本。

IE JAVASCRIPT调试: 我找到了这个页面,它承诺在IE环境中提供调试器环境(尽管不复杂)。

http://jonathanboutelle.com/2006/01/16/how-to-debug-javascript-in-internet-explorer/ 我没有尝试过,因为我没有安装完整的Office软件包。

答案 2 :(得分:3)

Internet Explorer很难报告Javascript行号 - 通常报告的行号是HTML文件中Javascript <script>标记的起始位置,而不是Javascript文件中的位置行号。只依靠'错误报告',行号与IE不值得。

使用其他浏览器,例如安装了Firebug Extension的Firefox,或使用Web Inspector内置的Google Chrome浏览器,这也很棒。

答案 3 :(得分:1)

这是一篇很好的文章

Debugging JavaScript: Understanding JavaScript Error Messages

  

特别是行号转   对你的帮助远不如你   可能会期待。浏览器的不同之处在于   确定行号和   因此不能可靠地报告   错误的正确行号   与来源有关   码。例如,Internet Explorer   报告与之相关的行号   浏览器自己的内部渲染   文件来源,可能或   可能与源文件不匹配!火狐   报告错误的位置更多   可靠地报告脚本文件   在哪里发生错误   适用。但Firefox不会   为您提供有关的详细信息   已知导致错误的元素   作为“来电者”。此信息,   这可以用于快速跟踪   目前是错误的原因   仅由Internet Explorer提供。

答案 4 :(得分:-1)

如果您想获得错误的确切原因和位置,如果您想要执行大量的javascript调试,我建议您使用FireBug