Chrome开发者工具会缓存旧版本的JavaScript文件

时间:2014-04-30 22:06:25

标签: javascript google-chrome google-chrome-devtools

我遇到了一个奇怪的间歇性问题,Chrome Developer工具挂在旧版本的JavaScript文件上。我将开发一些JS应用程序,只是找到的东西,然后突然我的JavaScript文件将从“源”选项卡上的JavaScript文件列表中消失。这是我第一个发现错误的线索。

我最终发现,Chrome开发者工具显然是挂在旧版本的JavaScript文件上。 Chrome本身正在从服务器请求并执行最新版本,但您无法调试JavaScript文件。

我向自己“证明”这是通过从我的源列表中删除一个特定的JavaScript文件并将其替换为一行console.log语句而发生的事情。

然后我重新加载页面,并注意到console.log语句出现在JavaScript控制台中。我还在“网络”选项卡中注意到,JavaScript文件已成功检索,并且通过网络传输的内容仅包含一行console.log语句。

但是,JavaScript文件仍未出现在源列表中,如果我在控制台中单击文件名(它出现在控制台的右侧,在记录的语句旁边),那么我跳转到sources选项卡,打开旧版本的JavaScript文件。

此JavaScript文件通过常规<script>标记加载到页面上。它不是通过其他脚本动态加载,也不是通过eval加载。只是一个简单的vanilla <script>标记,指向Web服务器上的.js文件。

我试过了:

  1. 确保在DevTools设置中选中“禁用缓存(当DevTools打开时)”。
  2. 在Chrome中手动清除我的缓存和Cookie。
  3. 重新启动Chrome
  4. 在单独的Chrome标签页中手动加载JavaScript文件
  5. 停用我已安装的每个Chrome扩展程序/应用
  6. 以隐身模式运行页面
  7. 取消选中“启用JavaScript源地图”和“启用CSS源地图”
  8. 这些都没有改变这种行为。你可以watch a video demonstrating this here,如果你不相信我的话!

    我认为这是一个Chrome问题,因为我可以在没有此问题的情况下使用Firefox ...但我真的很喜欢Chrome和Chrome的开发者工具:-)所以我想让它在Chrome中运行......

    更新我将此报告为Chrome错误here。如果此错误对您有影响,或对您很重要,请将其投票和/或添加评论以及其他信息。

5 个答案:

答案 0 :(得分:2)

Chrome DevTools适用于我。当我为一个页面加载它时,它会记住在chrome过程的生命周期之后我打开了哪些来源;虽然订单错了。我在devtools prefs中看到两个不同之处:禁用缓存和启用映射。所以我建议:

1)取消选中禁用缓存(当DevTools打开时), 2)(如果1不起作用)按“恢复默认值并重新加载”按钮。

答案 1 :(得分:0)

谷歌似乎解决了这个问题。它已经停止了我。

答案 2 :(得分:0)

一些代码编辑器,例如rubymine cache js files。

要解决rubymine:文件&gt;无效缓存/重启

答案 3 :(得分:0)

正如此处https://groups.google.com/d/msg/google-chrome-developer-tools/2rolf--fJ3M/UTJQaZN3K28J所建议的,对于开发环境,我在提供源图时添加了这些标头:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

它似乎完成了这项工作(至少目前为止)。

答案 4 :(得分:0)

问题仍然存在于78.0.3904.97。要修复它,请运行设置>高级>重置。