我正在修改一个网站的外观(CSS 修改),但由于令人恼火的持久缓存,无法在 Chrome 上看到结果。我尝试过 Shift+ 刷新,但它没有起作用。
我该如何暂时禁用缓存或以某种方式刷新页面,以便能够看到更改?
我正在修改一个网站的外观(CSS 修改),但由于令人恼火的持久缓存,无法在 Chrome 上看到结果。我尝试过 Shift+ 刷新,但它没有起作用。
我该如何暂时禁用缓存或以某种方式刷新页面,以便能够看到更改?
我的第三个Chrome扩展程序Page Size Inspector提供了另一种禁用缓存的选项,与Devtools完全相同。
此外,该扩展程序以方便的方式快速报告网页的页面大小、缓存使用情况、网络请求和加载时间。此外,它在Github是开源的。
我有同样的问题,我尝试了以下方法:
然后我发现,在非https网站上使用.appcache清单已经被弃用。我删除了我的site.appcache文件以及html标签中对它的引用,现在我可以看到每个页面的最新版本!
不确定你在使用什么,但如果你在使用ASP.Net,你可以按照以下步骤操作,这个方法非常好用:
<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
)
因此,所有的.js、.css文件以及图形文件都不受框架“index”的处理。 Header set Cache-Control "no-store, no-cache, must-revalidate"
Header set Pragma "no-cache"
< p >(或者对于连续的工作版本,使用“Etag”指令-在HTTP参考中查看更多。请注意,ETag不适用于开发。
在.htaccess中,没有直接的方法生成随机数(或快速更改的序列,如UTC日期)以用于ETag,因为-如我之前所述-这不是提供的目的)。
希望它有所帮助并节省时间。
//Controller function
public ActionResult Index()
{
return View();
}
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})
结果是,它将生成一个链接,如下: http://www.myweb.com/Home/Index?ts=636558555408282209
这是我的情况和解决方案。希望能对某些人有所帮助。
我已经尝试了上述其他选项,但我发现最好的方法是在chrome.exe启动时添加以下参数:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-size=1 -media-cache=1
我认为不禁用媒体缓存是一个好主意,但这里是为了完整起见。
实际上,我想要一个完全禁用缓存的选项,使用内存代替磁盘进行IO操作(这也会使加载时间快10倍!),但我认为目前Chrome或任何浏览器都没有这个选项。
Chrome的缓存清除器是目前最好的选择。由于商店安装缓存清除器的URL已经失效,您可以在此处下载CRX文件:
https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/
下载扩展文件后,打开Chrome -> 更多工具 -> 扩展程序,然后将CRX文件从文件资源管理器或桌面(取决于您下载文件的位置)拖到Chrome窗口中以安装扩展。