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

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


当前回答

禁用chrome中的缓存仅在打开开发工具时有效

其他回答

Chrome DevTools可以禁用缓存。

右键单击并选择Inspect Element以打开DevTools。或使用以下键盘快捷键之一:

第12页控制+Shift+i命令+Shift+i

单击工具栏中的网络以打开网络窗格。选中顶部的禁用缓存复选框。

请记住,正如@ChromiumDev的一条推文所述,此设置仅在开发工具打开时才处于活动状态。

请注意,这将导致重新加载所有资源。如果您希望仅对某些资源禁用缓存,则可以修改服务器随文件一起发送的HTTP标头。

如果您不想使用禁用缓存复选框,在DevTools打开的情况下长按刷新按钮将显示一个菜单,其中包含硬重新加载或空缓存和硬重新加载选项,这应该具有类似的效果。阅读选项之间的差异,了解要选择哪个选项。以下快捷方式可用:

Mac上的Command+Shift+RWindows或Linux上的Control+Shift+R

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

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

还有两个选项可以永久禁用Chrome中的页面缓存:

1.在注册表中停用Chrome缓存

打开注册表(开始->命令->Regedit)

搜索:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

在…之后更改零件。。。chrom.exe”设置为该值:–禁用应用程序缓存–媒体缓存大小=1–磁盘缓存大小=1-“%1”

示例:“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”-禁用应用程序缓存–媒体缓存大小=1–磁盘缓存大小=1-“%1”

重要:

后面有空格和连字符。。。chrome.exe“保留chrome.exe的路径如果复制该行,请确保检查引号是否为实际引号。

2.通过更改快捷方式财产来停用Chrome缓存

右键单击Chrome图标并在上下文菜单中选择“财产”。将以下值添加到路径:–磁盘缓存大小=1

例子:“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”–磁盘缓存大小=1

重要:

后面有空格和连字符。。。chrome.exe“保留chrome.exe的路径

我使用(在窗口中)ctrl+shift+delete,当铬对话框出现时,按enter键。这可以配置为每次执行此序列时需要清除的内容。在这种情况下,不需要打开dev.tools。

一般来说,“烦人”的缓存的问题在于框架:)。让我们来看看细节。大多数框架都在.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),因为-正如我之前提到的-这不是提供的)。

希望这有助于节省时间。