我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。

如何临时禁用缓存或以某种方式刷新页面以查看更改?


当前回答

如何使用书签来更改页面名称以防止页面缓存。在Chrome中,您将创建一个新书签,然后将代码粘贴到URL中。单击书签,页面将重新加载时间戳以阻止缓存。

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

其他回答

要明确的是,Chrome中的禁用缓存复选框(这里是v17,但我认为是v15)不在主设置UI中。它位于开发人员工具设置UI中。

从浏览器窗口的扳手图标菜单(首选项菜单)中选择工具→ 开发人员工具在出现的开发人员工具UI中,单击右下角的齿轮图标。选中“网络”部分的“禁用缓存”复选框。

不确定您正在使用什么,但如果您正在使用ASP.Net,您可以执行以下操作,这就像一个魅力:

<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />

基本上,每次运行文件时,它都会自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上不同,因此您再也不用担心它会被缓存。

除了禁用缓存选项(您可以通过开发人员工具窗口右下角的一个按钮--工具|开发人员工具,或Ctrl+Shift+I)之外,在开发人员工具的网络窗格上,您现在可以右键单击并从弹出菜单中选择“清除缓存”。

我只是被抓住了,但不一定是因为Chrome。

我正在使用jQuery发出AJAX请求。我在请求中将缓存属性设置为true:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

将此设置为false修复了我的问题,但这并不理想。

我不知道这些数据保存在何处,但我知道chrome从未在服务器上发出请求。

现在有更好更快的方法(Chrome版本59.x.x):

右键单击重载图标(url字段的左侧),您将看到一个下拉菜单,选择第三个选项:“空缓存和硬重载”。

此选项仅在开发人员工具打开时可用。(注意与选项2的区别:“硬重新加载”-cmd-shift-R)。这里没有清空缓存!