谷歌Chrome浏览器问题:重置/清除缓存


Google Chrome browser issue : reset/clear cache

我已经在谷歌等网站上广泛研究了这个问题。

事实是:谷歌chrome浏览器不会自动加载新网页;相反,它加载旧的。

我没怎么在意这个。。。。。。。直到我开始编码。

有趣的是:当我的PHP/HTML代码不起作用时,我甚至没有意识到chrome浏览器是大多数情况背后的罪魁祸首!我会花几个小时写代码和重写代码;当我测试它时,它会给我同样的"旧"输出。

纯属偶然,在一个晴朗的日子里,我决定完全清除我的chrome缓存(清除我的broswer数据)。。。。。。。。。。。。。而且,当我测试一些"旧"代码时,它给了我一个"新"的结果!!!!

想象一下我的惊讶。

从那天起,我养成了一个非常令人恼火、讨厌但必要的习惯,每次我对代码进行更改时都要清除浏览器缓存。

我的代码目前进展迅速,每次测试新代码时都必须刷新缓存,这让我变得更加恼火。因此,我决定退出谷歌chrome,转而使用Mozilla。

然而,经过一些研究,这里找到了这个问题的唯一参考:

https://productforums.google.com/forum/#!主题/铬/xR-6YAkcASQ

提出的解决方案是我第一次注意到这个问题后从一开始就采用的解决方案。

显然,似乎没有其他解决方案。

那么,我为什么要写这篇文章呢??嗯,很简单:我在这里发帖的原因是希望。。。。。。。。大概有人知道解决这个问题的另一种方法——也许,一些可以注入到代码中的东西(或者,也许,在过去的一年、一个月、一周,甚至在过去的24小时内,谷歌不知何故有了一个急需的"脑电波",并最终解决了这个问题!)

我知道两种方法可以帮助您

  1. 在php 中设置下一个HTTP标头

    header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    
  2. 在Chrome中,右键单击此页面,然后Inspect Element=>Inspector的右上角有一个Settings图标。单击此处,然后选中"禁用缓存"复选框。这将在每次刷新页面并打开检查器时清除缓存。

希望这两种方法中的一种能帮助你。请记住,无论缓存如何,在服务器端执行的任何代码都会更改返回的页面。缓存只影响下载的文件,如图像和脚本。

来源:http://en.wikipedia.org/wiki/Web_cache

您提到的问题最有可能发生在css或javascript文件中。您可以做的是,当您在html页面中链接该文件时,您可以在文件链接url中附加一些查询字符串,查询字符串值为文件的md5

例如,如果你在html中链接一些css文件,你可以如下所示:

<link rel="stylesheet" type="text/css" href="css/styles.css?v=1<?php echo md5_file("css/styles.css"); ?>" />

因此,每次对"styles.css"文件进行更改时,md5值都会发生更改,它将始终查找更新的文件,而不是缓存的文件,因为链接不匹配。

已解决(对我来说)我刚刚遇到了这个问题,并尝试将元标签和标题信息添加到我的php页面,但在清除缓存后仍然不起作用。

我和网络管理员谈过,发现他最近更新了htaccess中域的缓存标签。我让他看看他是否能做到,这样Apache服务器就不会缓存在这个子域上。他告诉我,他在htaccess中添加了一行来忽略过期标签,这在我再次清除浏览器缓存后起到了作用。现在它可以在不提取缓存数据的情况下正确更新我的网页。

希望这能帮助到别人。