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