我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
Chrome DevTools可以禁用缓存。
右键单击并选择Inspect Element以打开DevTools。或使用以下键盘快捷键之一:
第12页控制+Shift+i命令+Shift+i
单击工具栏中的网络以打开网络窗格。选中顶部的禁用缓存复选框。
请记住,正如@ChromiumDev的一条推文所述,此设置仅在开发工具打开时才处于活动状态。
请注意,这将导致重新加载所有资源。如果您希望仅对某些资源禁用缓存,则可以修改服务器随文件一起发送的HTTP标头。
如果您不想使用禁用缓存复选框,在DevTools打开的情况下长按刷新按钮将显示一个菜单,其中包含硬重新加载或空缓存和硬重新加载选项,这应该具有类似的效果。阅读选项之间的差异,了解要选择哪个选项。以下快捷方式可用:
Mac上的Command+Shift+RWindows或Linux上的Control+Shift+R
其他回答
为了使用Chromium在VS代码中进行调试,我将--aggresive缓存丢弃的runtimeArgs添加到launch.json文件中。这消除了所有缓存。刷新时立即显示代码更改。
从版本50开始(如果我没记错的话),“禁用缓存”选项从Devtool设置中删除。转到“网络”选项卡,有“禁用缓存”选项。
我的情况是,浏览器从磁盘加载缓存数据,即使我检查了禁用缓存(我使用的是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
这是我的处境和解决方案。希望它能帮助一些人。
在修复错误之前,您可以使用Clear Cache Chrome插件,也可以为其设置键盘快捷方式。
安装后,右键单击并转到选项:
选中清除数据后自动重新加载活动选项卡:
选择时间段的所有内容:
然后,您可以转到菜单=>工具=>扩展:
单击底部的键盘快捷键:
并设置键盘快捷键,例如Ctrl+Shift+R:
要明确的是,Chrome中的禁用缓存复选框(这里是v17,但我认为是v15)不在主设置UI中。它位于开发人员工具设置UI中。
从浏览器窗口的扳手图标菜单(首选项菜单)中选择工具→ 开发人员工具在出现的开发人员工具UI中,单击右下角的齿轮图标。选中“网络”部分的“禁用缓存”复选框。