我会改变我的 JS 文件,但它不会真正改变在浏览器中,我必须重命名的文件,以便它重新加载它。有没有什么。我可以添加的 htaccess 命令或者什么东西来使它停止缓存?
它甚至缓存我的 html 页面硬核。我需要重新打开我的整个浏览器,只是为了看到变化。有可能是服务器出了问题吗?
用 PHP 生成的随机数添加类似 script.js?a=[random Number]的内容。
script.js?a=[random Number]
您是否尝试过使用“ NO-CACHE”和“ cache-control = NO-CACHE”这样的语法结构来使用失效 = 0? (我不知道他们是怎么说脚本的)。
按住 Shift,同时单击重新加载按钮(F5)。
这迫使浏览器的 忽略的 缓存内容和拉网页的 新的副本到浏览器。Shift + F5保证 最新的网站内容将被加载。然而,取决于页面大小,它通常是 慢一点而不仅仅是 F5。
你可以点击右上角的设置图标 ... | More Tools | 开发工具 | 网络 | 关闭缓存(当 DevTools 打开时)
...
对于窗口,这是 F12或 CTRL + SHIFT + I,而在 mac CMD + SHIFT + I打开 DevTools。
2018年9月 Chrome 更新的新路径:
点击右上角的设置图标 ... | 设定 | 偏好 | 开发工具 | 网络 | 关闭缓存(当 DevTools 打开时)
在更新我的 Web 应用程序时,我会使用一个处理程序来返回一个 JS 文件,以避免在我的服务器上的大量命中,或者向它们添加一个小的查询字符串:
<script type="text/javascript" src="/mine/myscript?20111205"></script>
一些想法:
HEAD
如果想禁用服务器上的缓存,可以这样做:
Header set Expires "Thu, 19 Nov 1981 08:52:00 GM" Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0" Header set Pragma "no-cache"
在.htaccess 中
<Files *> Header set Cache-Control: "no-cache, private, pre-check=0, post-check=0, max-age=0" Header set Expires: 0 Header set Pragma: no-cache </Files>
更快的方法是右键单击地址栏旁边的刷新图标并选择 空缓存和硬重载
只要确保 Chrome 的开发工具是打开的。(按 F12) 顺便说一下... ... 这个技巧只适用于 Windows、 Ubuntu 和 Mac 操作系统下的 Chrome
快速步骤:
1)点击 Chrome 菜单-> 工具-> 开发工具,打开开发工具仪表板
2)点击右边的设置图标(这是一个齿轮!)
3)勾选“禁用缓存(当 DevTools 打开时)”选项
4)现在,当仪表板启动时,只需点击刷新,JS 就不会被缓存!
当我浏览网站的时候,我得到了相同的 css 文件(在托管公司服务器上,真正的域名) ,我无法得到最新版本的 chrome。当我在 Firefox 上浏览这个文件时,我能够得到它的更新版本。这些答案对我都不管用。我也有我的机器上的网站文件和浏览本地主机使用我的本地 apache 服务器的网站。我关闭了我的阿帕奇服务器然后我就能拿到更新的文件了。我本地的阿帕奇服务器不知怎么搞乱了铬缓存。希望这个能帮到别人,因为我很难修好它。
开放式开发工具
More Tools
Developer Tools
按 Empty Cache and Hard Reload
Empty Cache and Hard Reload
问题是 Chrome 需要在 Cache-Control 的头部包含 must-revalidate,以便重新检查文件是否需要重新获取。
must-revalidate
你总是可以 SHIFT-F5并强制 Chrome 刷新,但是如果你想在服务器上修复这个问题,包括这个响应头:
Cache-Control: must-revalidate
这告诉 Chrome 检查服务器,看看是否有更新的文件。如果有一个较新的文件,它将在响应中接收它。如果没有,它将收到一个304响应,并保证缓存中的响应是最新的。
如果你没有设置这个头,那么在没有任何其他设置使文件无效的情况下,Chrome 将与服务器进行 永远不会检查,看看是否有更新的版本。
下面是进一步讨论这个问题的 博客文章。
我知道这是个“老”问题。但缓存带来的麻烦从来都不是问题。经过大量的尝试和错误,我发现我们的一个网站托管提供商通过 CPanel 这个应用程序称为 Cachewall。我只是点击了启用开发模式和... 瞧! ! !它立即停止了长期遭受的痛苦:) 希望这能帮到别人。 R
你可以打开一个匿名窗口。当禁用普通 chrome 窗口中的缓存时,切换到一个匿名窗口对我来说很有用,但仍然没有重新加载自从上次缓存以来更改过的 JavaScript 文件。
Https://www.quora.com/does-incognito-mode-on-chrome-use-the-cache-that-was-previously-stored
那些对我不起作用的事情:
我所说的不工作是指: 在文件系统中。Js 文件已经更新,但是 Chrome 没有接收到更新。这意味着页面脚本使用旧的逻辑执行,Dev tools Scripts/.../Compiled/... 显示旧的。Js 内容。
什么对我有用:
Chrome 版本86.0.4240.193(正式版)(64位)