我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
我只是被抓住了,但不一定是因为Chrome。
我正在使用jQuery发出AJAX请求。我在请求中将缓存属性设置为true:
$.ajax({
type: 'GET',
cache: true,
....
将此设置为false修复了我的问题,但这并不理想。
我不知道这些数据保存在何处,但我知道chrome从未在服务器上发出请求。
其他回答
我的情况是,浏览器从磁盘加载缓存数据,即使我检查了禁用缓存(我使用的是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
这是我的处境和解决方案。希望它能帮助一些人。
从版本50开始(如果我没记错的话),“禁用缓存”选项从Devtool设置中删除。转到“网络”选项卡,有“禁用缓存”选项。
不确定您正在使用什么,但如果您正在使用ASP.Net,您可以执行以下操作,这就像一个魅力:
<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
基本上,每次运行文件时,它都会自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上不同,因此您再也不用担心它会被缓存。
当您需要每小时清除缓存30次时,清除缓存太烦人了。。所以我安装了一个名为经典缓存杀手的Chrome扩展,它在每次加载页面时清除缓存。
Chrome商店链接(免费)(现在没有恶意软件!)
现在,每次加载页面时,我的模拟json、javascript、css、html和数据都会刷新。
如果我需要清空缓存,我永远不用担心。
我找到了大约20个用于Chrome的缓存清理器,但这一个似乎很轻,而且不费吹灰之力。在更新中,Cache Killer现在可以保持“始终打开”。
注意:我不知道插件的作者。我刚发现它很有用。
Chrome DevTools可以禁用缓存。
右键单击并选择Inspect Element以打开DevTools。或使用以下键盘快捷键之一:
第12页控制+Shift+i命令+Shift+i
单击工具栏中的网络以打开网络窗格。选中顶部的禁用缓存复选框。
请记住,正如@ChromiumDev的一条推文所述,此设置仅在开发工具打开时才处于活动状态。
请注意,这将导致重新加载所有资源。如果您希望仅对某些资源禁用缓存,则可以修改服务器随文件一起发送的HTTP标头。
如果您不想使用禁用缓存复选框,在DevTools打开的情况下长按刷新按钮将显示一个菜单,其中包含硬重新加载或空缓存和硬重新加载选项,这应该具有类似的效果。阅读选项之间的差异,了解要选择哪个选项。以下快捷方式可用:
Mac上的Command+Shift+RWindows或Linux上的Control+Shift+R