Chrome会一直加载我网站的旧缓存

时间:2014-09-30 01:27:59

标签: google-chrome caching

我遇到了这个奇怪的问题,我的Chrome浏览器不断加载我的网站的旧版本,其代码甚至不再存在于我的服务器上。我认为这是一个典型的缓存问题。

我尝试清理浏览器缓存,使用igcognito模式,并清理DNS缓存。旧的缓存页面仍在加载中。

这个问题似乎已经在谷歌集团讨论了三年,但仍然没有解决方案。 https://productforums.google.com/forum/#!topic/chrome/xR-6YAkcASQ

使用firefox或任何其他网络浏览器可以很好地工作。

它不会发生在我身上。我的所有同事在我的网站上遇到同样的问题。

8 个答案:

答案 0 :(得分:8)

<?php Header("Cache-Control: max-age=3000, must-revalidate"); ?>

您可以实现必须是索引文件中第一行代码的PHP脚本。它是通常由Web服务器发布的http标头。您还可以重命名被视为“陈旧”的资源。本教程将为您提供更多详细信息。 https://www.mnot.net/cache_docs/

答案 1 :(得分:3)

我不确定我是否正确理解了您的问题,但是我遇到了类似的事情,而不是清除缓存,而是通过执行以下操作禁用了它: 打开chrome,然后转到您的网站 按Command + Option + C(Mac) 既然您已打开chrome的DevTools,请转到主菜单,其中显示:Elements Console Sources ... 单击显示为网络的菜单元素 确保已选中“禁用缓存”复选框 然后重新加载页面而不关闭DevTools 这对我有用。 让我知道它是否对您有用:)

答案 2 :(得分:1)

查看新版网站的短期修复通常是清除缓存并重新加载,因为某些原因,这并不总是适用于Chrome。这个短期解决方案不会为您网站上的每个用户解决问题,但它只会让您看到您网站的新版本。

向CSS和JS文件添加版本号将允许您和其他所有用户查看您网站的最新版本。版本号将强制任何浏览器不从用户的个人计算机高速缓存加载,而是在服务器上加载实际文件,如果版本号与用户高速缓存中的版本号不同。 / p>

因此,如果您的服务器上有这些文件:

ExJS.js
ExCSS.css

并将其更改为:

ExJS.js?v=1.01
ExCSS.css?v=1.01

这些文件的新版本将在任何浏览器中加载。

通常情况下,浏览器会始终从服务器加载HTML文件,但您可以使用一些HTML元标记来确保为任何用户加载最新的HTML版本:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

还有一些方法可以确保其他语言的文件也始终加载最新版本,这将在本文中讨论:

How to add version number to HTML file (not only to css and js files)

答案 3 :(得分:0)

更改图片名称并在html文件中更改必要的图片名称..发现我的网站快速修复

答案 4 :(得分:0)

您可以按Inspect,然后按“网络”并选中“禁用缓存”。

答案 5 :(得分:0)

我遇到了同样的问题,我还尝试在我的 JSP 页面上禁用缓存

<% response.setHeader("Cache-Control","no-cache");
   response.setHeader("Pragma","no-cache");
   response.setDateHeader ("Expires", 0); %>

但这没有帮助。

这是 google chrome 和 Chrome 浏览器的一个已知问题,即使您清除了缓存和 cookie。

但是对于大多数用户来说可能会也可能不会发生。

此外,自过去 9-10 年以来,这个问题一直没有得到解决。

因此,出于测试目的,我强烈建议使用 Mozilla Firefox 或 Opera。

但是,听起来您的应用程序仅限于某些浏览器以获得最佳体验,并且可能无法让企业/最终用户信服。

话虽如此,我们大多数人可能会也可能不会发生这种缓存问题。

答案 6 :(得分:0)

您应该能够通过重置 Chrome 来解决问题。这是我发现的唯一清除这种情况的方法 - 在撕掉我的头发半天之后。

在发现这个之前,我尝试过清除缓存,删除各种缓存目录的内容等,但徒劳无功。

[截至今天 2021 年 5 月 3 日]您可以通过点击“设置 > 高级 > 重置和清理 > 将设置恢复为原始默认值”来执行此操作。请注意,这不会删除任何书签,但会将您从您登录的所有帐户中注销。

答案 7 :(得分:-1)

您有两个选择

a)将指纹视为过期资源,例如

 <script src="js/app-4829382839238882882bb3442bbbbdhh3kh3.js" type="text/javascript"></script>

b)在Web服务器上添加诸如Cache-Control,Expires之类的缓存控件标头。

这是browser caching

上的精彩读物