我将更改我的JS文件,但在浏览器中实际上并不会发生变化,我必须每次重命名文件才能重新加载它。有没有一种类似于.htaccess的命令或其他东西可以停止缓存?
它甚至强制缓存我的html页面。我需要重新打开整个浏览器才能看到更改。这可能是服务器问题吗?
我将更改我的JS文件,但在浏览器中实际上并不会发生变化,我必须每次重命名文件才能重新加载它。有没有一种类似于.htaccess的命令或其他东西可以停止缓存?
它甚至强制缓存我的html页面。我需要重新打开整个浏览器才能看到更改。这可能是服务器问题吗?
...
| 更多工具 | 开发者工具 | 网络 | 在 DevTools 打开时禁用缓存。...
| 设置 | 首选项 | 开发者工具 | 网络 | 在 DevTools 打开时禁用缓存。更快的方法是右键单击地址栏旁边的刷新图标,然后选择清空缓存并强制重新加载
只需确保Chrome的开发工具已打开。(按F12键) 顺便说一句...这个技巧仅适用于Windows、Ubuntu和Mac OS上的Chrome浏览器。
点击刷新按钮(F5)时,按住 Shift 键。
这将强制网页浏览器忽略已缓存内容,并从服务器重新请求新的版本页面。使用 Shift + F5 可以确保始终加载最新的网站内容。然而,根据页面大小,它通常会比只使用 F5 更慢。
使用PHP生成的随机数,添加类似于script.js?a=[随机数]
的内容。
您是否尝试过设置expire=0
,以及使用Pragma头部中的"No-Cache",和cache-control=NO-CACHE
指令?(我不确定它们是否适用于脚本文件。)
几个想法:
HEAD
命令而不是完整的GET命令来查看是否需要再次下载完整文件,服务器使用时间戳。如果您想在服务器上禁用缓存,可以这样做:
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 文件中。快速步骤:
1)打开开发者工具仪表板,方法是进入Chrome菜单 -> 工具 -> 开发者工具
2)点击右侧的设置图标(它是一个齿轮!)
3)勾选“禁用缓存(当DevTools打开时)”框
4)现在,在仪表板上,只需点击刷新,JS就不会被缓存!
Cache-Control: must-revalidate
Cache-Control: must-revalidate
而不是Cache-Control: must-validate
。我认为后者是无效的。 - László Monda在更新我的网络应用程序时,我要么使用处理程序返回单个JS文件以避免对我的服务器造成巨大负荷,要么为它们添加一个小的查询字符串:
<script type="text/javascript" src="/mine/myscript?20111205"></script>
我知道这是一个“老”问题。但缓存的问题从来不会消失。经过大量试错,我发现我们的一个Web托管提供商通过CPanel拥有了名为Cachewall的应用程序。我只需单击“启用开发模式”,然后...... voilà!它立即停止了长时间的痛苦 :) 希望这对其他人有所帮助... R
<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>