问题 Javascript错误行号


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

请帮忙。


1742
2018-01-06 09:03


起源

我只能使用IE来测试我的应用程序。因此,萤火虫不会有太大帮助。此外,我曾经在大约一个月前得到正确的行号。我不知道突然之间有这种令人沮丧的差异。 - The Machine
除了在IE> 8中使用IE开发工具的好建议之外,您还可以获得 Firebug Lite,它适用于任何浏览器,因此Firebug实际上可以提供帮助:) - Kato


答案:


正如其他答案所述,IE报告错误的行号是不好的。但是,那 内置调试器 (在IE8中按F12)以后会更有帮助,所以我建议你尝试一下。


7
2018-01-06 09:17



我同意。 “工具 - >开发人员工具”是你想要的而不是“查看源代码”如果你改变你的互联网选项来停止/提示javascript错误,它通常会出现“你想调试吗?”按钮,直接进入开发工具 - Graza


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

RightClick> View Source是浏览器看到呈现页面的代码。但是,这还不是全部。该页面还可能有其他对css ans js文件的HTTP请求。这就是我的情况。错误是在导入(不包含 ;如果它被包含错误将在代码上)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软件包。


4
2018-01-06 10:42





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

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


3
2018-01-06 09:09





这是一篇很好的文章

调试JavaScript:了解JavaScript错误消息

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


1
2018-01-06 09:10





如果你想获得错误的确切原因和位置,如果你想进行广泛的javascript调试,我会建议你使用 萤火


0
2018-01-06 09:06



这有时是不可能的,因为IE中经常出现不同的错误而不是FF(特别是那些与语法无关的错误)。 - Justin Johnson