我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
一般来说,“烦人”的缓存的问题在于框架:)。让我们来看看细节。大多数框架都在.htaccess(os equivalent)中使用去主动重定向所有请求到框架“索引”,
但它同时排除应用程序直接请求的文件和目录。
(例如,对于.htaccess,典型指令如下:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
)
因此,作为图形文件的所有.js、.css文件都不由框架“索引”处理。
这些文件通常在开发期间最常更改。
这就是为什么缓存控件取消激活不应该放在框架“索引”中的原因。
它应该放在.htaccess中。
F.e.用于开发过程:
Header set Cache-Control "no-store, no-cache, must-revalidate"
Header set Pragma "no-cache"
(或者对于连续的工作版本,请使用“Etag”指令-在HTTP参考中查看更多信息。注意,Etag不是用于开发的。
在.htaccess中,没有直接的方法生成用于ETag的随机数(或快速变化的序列,如日期UTC),因为-正如我之前提到的-这不是提供的)。
希望这有助于节省时间。
其他回答
我使用(在窗口中)ctrl+shift+delete,当铬对话框出现时,按enter键。这可以配置为每次执行此序列时需要清除的内容。在这种情况下,不需要打开dev.tools。
事实上,如果您不介意使用带宽,出于多种原因禁用缓存会更安全,许多安全站点都建议您这样做。
Chromium不应该傲慢到做出决定并强制用户设置。
可以使用--disk cache dir=/dev/null禁用UNIX上的缓存。
由于这是意外的,所以可能会发生崩溃,但如果发生了,那么这将明确指出一个更严重的错误,在任何情况下都应该修复。
我的第三个Chrome扩展页面大小检查器提供了另一个禁用缓存的选项,它与Devtools完全相同地禁用缓存。
此外,该扩展可以以方便的方式快速报告网页大小、缓存使用情况、网络请求和加载时间。加上Github的开源。
不确定您正在使用什么,但如果您正在使用ASP.Net,您可以执行以下操作,这就像一个魅力:
<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
基本上,每次运行文件时,它都会自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上不同,因此您再也不用担心它会被缓存。
Chrome的缓存杀手是目前最好的选择。由于安装缓存杀手的商店URL已关闭,您可以在此处下载CRX文件:
https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/
下载扩展文件后,打开Chrome->更多工具->扩展,然后将CRX文件从文件浏览器或桌面(取决于下载文件的位置)拖到Chrome窗口中安装扩展。