Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chrome开发者工具缓存旧版本的JavaScript文件_Javascript_Google Chrome_Google Chrome Devtools - Fatal编程技术网

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

Chrome开发者工具缓存旧版本的JavaScript文件,javascript,google-chrome,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Devtools,我遇到了一个奇怪的间歇性问题,Chrome开发者工具挂在旧版本的JavaScript文件上。我将开发一些JS应用程序,这些东西只是在寻找,然后突然我的JavaScript文件将从“源”选项卡上的JavaScript文件列表中消失。这是我第一次发现有问题 我最终发现,Chrome开发者工具显然依赖于旧版本的JavaScript文件。Chrome本身正在从服务器请求并执行最新版本,但您无法调试JavaScript文件 我用一行console.log语句替换了从源代码列表中消失的特定JavaScrip

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

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

我用一行
console.log
语句替换了从源代码列表中消失的特定JavaScript文件,从而“证明”了这一点

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

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

此JavaScript文件通过常规的
标记加载到页面上。它不是通过另一个脚本或eval动态加载的。只是一个普通的标签,指向Web服务器上的.js文件

我试过:

  • 确保在DevTools设置中选中“禁用缓存(当DevTools打开时)”
  • 手动清除Chrome中的缓存和cookie
  • 重新启动Chrome
  • 在单独的Chrome选项卡中手动加载JavaScript文件
  • 禁用我安装的所有Chrome扩展/应用程序
  • 以匿名模式运行页面
  • 取消选中“启用JavaScript源映射”和“启用CSS源映射”
  • 这些都没有改变行为。如果你不相信我,你可以

    我确实认为这是Chrome的问题,因为我可以使用Firefox而没有这个问题。。。但我真的很喜欢Chrome和Chrome的开发工具:-),所以我想让它在Chrome中工作


    更新我报告这是一个Chrome bug。如果此错误影响您,或者对您很重要,请对其进行投票和/或添加附加信息的评论。

    Chrome DevTools对我来说很好。当我为一个页面加载它时,它会在chrome进程的生命周期之外记住我打开的源代码;虽然它的顺序错了。我在devtools prefs中看到了两个不同之处:禁用缓存和启用映射。因此,我建议:

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

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

    一些代码编辑器,比如rubymine cache js文件

    为了解决rubymine:File>invalidatecache/Restart的问题,正如这里所建议的,对于开发环境,我在提供源映射时添加了以下标题:

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

    而且它似乎完成了任务(至少目前是这样)。

    这个问题在78.0.3904.97中仍然存在。要修复它,请运行“设置”>“高级”>“重置”。

    您可能正在使用VS和/或IIS吗?我时不时地遇到这个问题,我只是
    Ctrl
    +
    F5
    ,直到它最终刷新缓存。我很想知道你是否找到了解决方案。如果它看起来像一个bug,那么报告它:你配置了任何工作区映射吗?@Cory,我没有在这个项目上使用VS或IIS。webserver是Windows 8.1上的Apache,IDE是JetBrains PhpStorm(类似于WebStorm+PHP支持)。我基本上和你一样遵循同样的程序。重新加载,重新加载,重新加载,重新加载,重新加载。。。最终它会起作用。我无法确定任何押韵或理由。@mistaecko,我没有在Chrome开发者工具中配置任何押韵或理由。这就是你要问的吗?我仍然有这种想法:)建议你提交一份bug报告,尽可能提供详细信息。你可能会从2014年5月开始。我的最新Chrome(45.0.2454.101(64位))仍然存在问题,使用46.0.2490.86(64位)版本,这是有史以来第一次遇到这个问题。2018年底,Chrome版本71也出现了这个问题。令人惊讶的是,它仍然没有被修复。我得到它的方法是缩小一些JS文件,devtools显示缩小的源代码。然后,我停止缩小它们,为它们提供未经整理的服务,但源代码的缩小版本仍然显示在devtools中。我尝试将响应头设置为无缓存。但当我刷新Chrome时,它甚至没有向(我的Node.js)服务器发送请求。使用FireFox请求相同的URL会显示服务器被命中,FF开发工具会显示正确的未修改源。这为我解决了问题,只是我使用了PyCharm。这无法解决在chrome中编辑javascript的目的。我也尝试过,但没有解决问题。Chrome似乎甚至没有试图向我的服务器请求它已经缓存的资源。因此,无论我尝试在响应中添加什么响应头,您的解决方案都有效。清除缓存也工作了一段时间(设置/历史记录/清除浏览数据)。当我在Developer Tools调试器中打开带有断点的Javascript文件时,就会发生这种情况。是的,对我来说,断点也触发了此错误。我已将其添加到错误报告中。