我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
在修复错误之前,您可以使用Clear Cache Chrome插件,也可以为其设置键盘快捷方式。
安装后,右键单击并转到选项:
选中清除数据后自动重新加载活动选项卡:
选择时间段的所有内容:
然后,您可以转到菜单=>工具=>扩展:
单击底部的键盘快捷键:
并设置键盘快捷键,例如Ctrl+Shift+R:
其他回答
如果您使用的是ServiceWorkers(例如,对于Progressive web应用程序),您可能也需要在开发工具中的应用程序>ServiceWorkers下选中“重新加载时更新”。
按F12拉起Chrome开发者控制台,然后(在控制台打开的情况下):右键单击(或按住左键)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载”
这将超越“硬重新加载”,完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存。你不必打乱设置或任何事情,这是一个快速的一次性解决方案。
我的情况是,浏览器从磁盘加载缓存数据,即使我检查了禁用缓存(我使用的是Chrome)。我所有的CSS和JS都是从服务器加载的,而不是网页。这发生在我的本地和生产部门。
为了解决这个问题,我需要在URL中添加一个额外的参数,以迫使浏览器从服务器获取网页,即使控制器不需要它。
我使用的是ASP.Net,所以这里是我的示例:
//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
这是我的处境和解决方案。希望它能帮助一些人。
为了使用Chromium在VS代码中进行调试,我将--aggresive缓存丢弃的runtimeArgs添加到launch.json文件中。这消除了所有缓存。刷新时立即显示代码更改。
我已经使用了上面描述的其他选项,但我发现最好的方法是在chrome.exe的启动中添加以下参数。
“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”--磁盘缓存大小=1-媒体缓存=1
我发现不禁用媒体缓存是一个好主意,但出于完整性的考虑。
实际上,我想要一个完全禁用缓存的选项,将内存用于IO而不是磁盘(这也会使加载时间快10倍!),但我认为chrome或任何浏览器都还没有这个选项。