我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
当您需要每小时清除缓存30次时,清除缓存太烦人了。。所以我安装了一个名为经典缓存杀手的Chrome扩展,它在每次加载页面时清除缓存。
Chrome商店链接(免费)(现在没有恶意软件!)
现在,每次加载页面时,我的模拟json、javascript、css、html和数据都会刷新。
如果我需要清空缓存,我永远不用担心。
我找到了大约20个用于Chrome的缓存清理器,但这一个似乎很轻,而且不费吹灰之力。在更新中,Cache Killer现在可以保持“始终打开”。
注意:我不知道插件的作者。我刚发现它很有用。
其他回答
要明确的是,Chrome中的禁用缓存复选框(这里是v17,但我认为是v15)不在主设置UI中。它位于开发人员工具设置UI中。
从浏览器窗口的扳手图标菜单(首选项菜单)中选择工具→ 开发人员工具在出现的开发人员工具UI中,单击右下角的齿轮图标。选中“网络”部分的“禁用缓存”复选框。
如何使用书签来更改页面名称以防止页面缓存。在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;})();
我使用(在窗口中)ctrl+shift+delete,当铬对话框出现时,按enter键。这可以配置为每次执行此序列时需要清除的内容。在这种情况下,不需要打开dev.tools。
使用Ctrl+Shift+R进行刷新很好,但并没有得到所需的一切。还有一些东西不会刷新,比如存储在js和css中的数据。找到了一个解决方案:谷歌为chromeweb开发人员提供的工具栏。安装工具栏后,选择选项并“重置页面”。
一般来说,“烦人”的缓存的问题在于框架:)。让我们来看看细节。大多数框架都在.htaccess(os equivalent)中使用去主动重定向所有请求到框架“索引”,
但它同时排除应用程序直接请求的文件和目录。
(例如,对于.htaccess,典型指令如下:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
)
因此,作为图形文件的所有.js、.css文件都不由框架“索引”处理。
这些文件通常在开发期间最常更改。
这就是为什么缓存控件取消激活不应该放在框架“索引”中的原因。
它应该放在.htaccess中。
F.e.用于开发过程:
Header set Cache-Control "no-store, no-cache, must-revalidate"
Header set Pragma "no-cache"
(或者对于连续的工作版本,请使用“Etag”指令-在HTTP参考中查看更多信息。注意,Etag不是用于开发的。
在.htaccess中,没有直接的方法生成用于ETag的随机数(或快速变化的序列,如日期UTC),因为-正如我之前提到的-这不是提供的)。
希望这有助于节省时间。