无法在 Chrome 开发人员工具/Firebug 中调试 javascript 问题

Posted

技术标签:

【中文标题】无法在 Chrome 开发人员工具/Firebug 中调试 javascript 问题【英文标题】:Cannot debug a javascript issue in Chrome Developer Tools/Firebug 【发布时间】:2015-01-07 20:46:26 【问题描述】:

我的一个页面中有一个简单的 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,正如 in this thread 建议的那样。

但是,语法错误(意外的右括号)仍然出现。每次刷新页面时,错误行的位置都会有所不同,但它们会显示在看起来不错的行上。

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

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

【问题讨论】:

由于您的更新 #2 是一个答案,因此您应该将其添加,而不是将其放入您的问题中。如果没有看到任何代码,很难知道实际发生了什么。如果您仍然想正确回答为什么 DevTools 或 Firebug 没有将您指向正确的位置,请在您的问题中发布一个 URL 或一个小示例。 【参考方案1】:

(从更新 #2 复制)

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

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

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

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

【讨论】:

以上是关于无法在 Chrome 开发人员工具/Firebug 中调试 javascript 问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Firebug 和 Chrome 开发工具在不同的媒体查询中调试 css?

在 chrome 开发工具/firebug 中保留 DOM 元素突出显示

Firebug & Chrome Console 控制台使用指南

Chrome 的开发工具是不是有类似 Firebug 的 JSON 浏览器?

Chrome 的开发工具或 Firebug 中是不是存在“设置下一条语句”功能?

作为Web开发人员,我为什么喜欢Google Chrome浏览器