【发布时间】:2014-06-17 09:49:23
【问题描述】:
我遇到了一个奇怪的间歇性问题,Chrome 开发者工具会挂在旧版本的 JavaScript 文件上。我将开发一些 JS 应用程序,只是找到一些东西,然后突然间我的 JavaScript 文件将从“源”选项卡上的 JavaScript 文件列表中消失。这是我发现有问题的第一个线索。
我最终发现,Chrome 开发者工具显然挂在旧版本的 JavaScript 文件上。 Chrome 本身正在从服务器请求并执行最新版本,但您无法调试 JavaScript 文件。
我向自己“证明”了这就是正在发生的事情,方法是获取一个从我的源列表中消失的特定 JavaScript 文件,并将其替换为一行 console.log 语句。
然后我重新加载了页面,并注意到 console.log 语句出现在 JavaScript 控制台中。我还在“网络”选项卡中注意到 JavaScript 文件已成功检索,并且通过网络传输的内容仅包含一行 console.log 语句。
但是,JavaScript 文件仍然没有出现在源列表中,如果我单击控制台中的文件名(它出现在控制台的右侧,记录的语句旁边),然后我跳转到源选项卡,并打开旧版本的 JavaScript 文件。
此 JavaScript 文件通过常规的 <script> 标记加载到页面上。它不是通过另一个脚本或通过 eval 动态加载的。只是一个普通的 <script> 标记,指向网络服务器上的 .js 文件。
我试过了:
- 确保在 DevTools 设置中选中“禁用缓存(在 DevTools 打开时)”。
- 在 Chrome 中手动清除我的缓存和 cookie。
- 重新启动 Chrome
- 在单独的 Chrome 选项卡中手动加载 JavaScript 文件
- 禁用我已安装的每个 Chrome 扩展程序/应用程序
- 以隐身模式运行页面
- 取消选中“启用 JavaScript 源映射”和“启用 CSS 源映射”
这些都没有改变行为。不信可以watch a video demonstrating this here!
我确实认为这是 Chrome 的问题,因为我可以使用 Firefox 而没有这个问题...但我真的很喜欢 Chrome 和 Chrome 的开发人员工具 :-) 所以我想让它在 Chrome 中工作...
更新我将此报告为 Chrome 错误 here。如果此错误对您有影响或对您很重要,请投票和/或添加 cmets 并提供更多信息。
【问题讨论】:
-
您使用的是 VS 和/或 IIS,或许?我时不时地遇到这个问题,我只是
Ctrl+F5直到它最终刷新缓存。我很想看看你是否找到解决方案。 -
如果它看起来像一个错误,然后报告它:crbug.com/new
-
您是否配置了任何工作区映射?
-
@Cory,我没有在这个项目上使用 VS 或 IIS。 Web 服务器是 Windows 8.1 上的 Apache,IDE 是 JetBrains PhpStorm(类似于 WebStorm + PHP 支持)。我基本上一直在遵循与您相同的程序。重新加载,重新加载,重新加载,重新加载,重新加载......并且最终它起作用了。我无法确定押韵或原因。
-
@mistaecko,我没有在 Chrome 开发者工具中配置任何 workspaces。你问的是这个吗?
标签: javascript google-chrome google-chrome-devtools