Chrome开发者工具/Firebug无法调试javascript问题

3

我在一个页面中发现了一个简单的JavaScript语法错误。

在Chrome开发者工具的控制台中,我收到了以下消息:

Uncaught SyntaxError: Unexpected token ( ... my_file.php(line 1799)

并且

Failed to load resource: net::ERR_CACHE_MISS 

然而,我无法检查页面的源代码。它只会显示为空白或未加载。
我查看了资源选项卡、脚本文件并搜索受影响的行。第1799行有一条被注释掉的指令:
//location.reload();

这不合理,而且这不是我第一次在Chrome中遇到报告问题实际上出现在另一行或文件的情况。

在Firebug中没有任何报告,尽管javascript也无法工作。

我该尝试哪些步骤来找出错误的来源?

我已经尝试过:

  • 刷新页面。众所周知,只有在第二次加载页面后脚本才会加载;
  • 在源标签中检查文件的脚本 - 它显示为空白(无论我刷新多少次);
  • 在资源标签中检查文件的脚本 - 错误显示在一个注释行中。第1799行显示为一条注释指令;
  • 在Firebug中检查文件的脚本不显示任何内容。脚本或控制台中都没有错误。然而,javascript无法工作......

更新:我通过按下Ctrl + F5(加载并删除缓存)来解决了ERR_CACHE_MISS问题,正如此线程中建议的那样。

但是,语法错误(意外的闭合括号)仍然出现。有问题的行的位置会随着每个页面刷新而变化,但它们显示在看起来正常的行上。

更新#2:我解决了这个问题。我不得不检查所有脚本行并逐步修复语法错误(这些错误与Chrome提示的行不同)。

我仍然不知道为什么Firebug没有报告错误的行,或者为什么Chrome DevTools指向了错误的行。这是最令人沮丧的部分。


1
由于您的更新#2是一个答案,因此您应该将其添加为答案,而不是放入问题中。如果没有看到任何代码,很难确定实际发生了什么。如果您仍然想要获得有关为什么DevTools或Firebug没有指向正确位置的适当答案,请在您的问题中发布URL或小示例。 - Sebastian Zartner
1个回答

0

(从更新#2复制)

我解决了问题。我不得不检查所有脚本行,并逐步修复一个接一个的语法错误(这些错误并不在Chrome提示的行附近)。

当我修复不同的行时,同一行(显然看起来正确)仍然显示出错误。

然后,在我修复了特定的一行之后,来自第1799行的错误就不再报告了。

我仍然不知道为什么Firebug没有向我报告有问题的行,或者为什么Chrome DevTools指向了错误的行。这是最令人沮丧的部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接