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

Jos*_*osh 13 javascript google-chrome google-chrome-devtools

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

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

我向自己"证明"这是通过获取从我的源列表中消失的特定JavaScript文件并用一行console.log语句替换它而发生的事情.

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

但是,JavaScript文件仍未出现在源列表中,如果我在控制台中单击文件名(它出现在控制台的右侧,在记录的语句旁边),那么我跳转到源选项卡,并打开旧版本的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源地图"

这些都没有改变这种行为.如果你不相信我,你可以在这里观看一个展示这个的视频!

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

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

小智 4

Chrome DevTools 对我来说工作得很好。当我为页面加载它时,它会在 chrome 进程的生命周期之外记住我打开的源;尽管它的顺序错误。我在我们的开发工具首选项中看到两个差异:禁用缓存和启用映射。所以我建议:

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