Javascript Internet Explorer为错误生成错误的行号

Javascript Internet Explorer为错误生成错误的行号,javascript,numbers,line,Javascript,Numbers,Line,我有一个包含大量javascript代码的jsp。当页面上出现javascript错误时(显示在IE浏览器的状态栏中),报告包含错误的行号与实际包含错误的行号不匹配。 我正在右键单击>查看源以查找报告的行号。但该行不包含错误。我想,错误在另一行。 报告错误行号的原因可能是什么。如果您想获得错误的确切原因和位置,如果您想执行广泛的javascript调试,我建议您使用。Internet Explorer在报告javascript行号方面非常糟糕-通常报告的行号是javascript的位置标记在HT

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

如果您想获得错误的确切原因和位置,如果您想执行广泛的javascript调试,我建议您使用。

Internet Explorer在报告javascript行号方面非常糟糕-通常报告的行号是javascript的位置
标记在HTML文件中开始,而不是Javascript文件中的位置行号。仅依靠“错误报告”,行号与IE无关

使用另一个浏览器,例如安装了Firebug扩展的Firefox,或者内置了Web Inspector的Google Chrome,这也很好。

这是一篇不错的文章

特别是,行号会旋转 比你的帮助小得多 可能会想到。浏览器的功能不同 确定线号和 因此,不可靠地报告 更正显示错误的行号 发生在与源相关的位置 代码。例如,Internet Explorer, 报告与以下内容相关的行号: 浏览器自己的内部渲染 文档源的名称,可以是或 可能与源文件不匹配!火狐 报告错误的位置更多信息 可靠地报告脚本文件 其中发生了一个错误 可应用的不过,Firefox不会这么做 向您提供有关 导致错误的元素,已知 作为“呼叫者”。这个信息,, 这对于快速跟踪非常有用 错误的原因,当前为 仅由Internet Explorer提供


如其他答案所述,IE不善于报告错误行号。但是,IE8和更高版本中的(按F12键)更有帮助,因此我建议您尝试一下。

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

右键单击>查看源代码是浏览器呈现页面时看到的代码。然而,这还不是全部。该页面还可以有其他对css ans js文件的HTTP请求。这就是我的情况。错误出现在导入的(未包含)js文件中;如果包含,错误将出现在代码中。报告的行号是相对于js文件的

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

潜在问题: 然而,尽管在我的例子中,报告的单个js文件中的行号被发现是正确的,但这可能并不总是正确的。 在大多数企业应用程序中,js和css es通常被缩小以减少字节占用。因此,您可能在IDE中看到的js文件将与浏览器看到的不同。因此,行号可能会有所不同。行号将是浏览器看到的文件的压缩版本

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


我没有尝试,因为我没有安装完整的Office软件包。

我只能使用IE来测试我的应用程序。因此,firebug不会有多大帮助。另外,我曾经在大约一个月前得到正确的行号。我不知道怎么会突然出现这种令人沮丧的差异。除了关于在IE>8中使用IE dev工具的伟大建议之外,你还可以得到,它在任何浏览器中都可以工作,所以Firebug实际上是有帮助的:)这有时是不可能的,因为IE和FF中经常出现不同的错误(特别是那些与语法无关的错误)。我同意。“工具->开发人员工具”是您想要的,而不是“查看源代码”。如果您更改internet选项以停止/提示javascript错误,它通常会出现一个“是否要调试?”按钮,直接进入开发人员工具