【问题标题】:How to tell Chrome to clear cache and cookies from a website?如何告诉 Chrome 从网站清除缓存和 cookie?
【发布时间】:2017-09-20 08:57:52
【问题描述】:

所以我最近刚刚通过 FileManager(网络解决方案)更新了一个网站。我遇到了一个问题,Chrome 基本上是保存以前的文件,以便网站加载速度更快。问题是,新站点不能很好地处理旧文件。因此,我必须进入隐私并清除我的数据,以便网站正确刷新以显示我更新的网站。

有没有办法用前端的代码解决这个问题?因为对于不经常清除浏览历史记录的人来说,网站在他们看来会很糟糕。感谢您的帮助!

【问题讨论】:

标签: javascript html google-chrome caching browser


【解决方案1】:

作为Raccoon suggests,使用标头告诉浏览器不要缓存可能会解决一些问题。

黑客会将时间戳设置为您正在使用<script src="js/myfile.js?updated=1492974572411"></script> 的更新(或所有)脚本的查询参数。这也适用于 css 文件。

一个更简洁且更易于管理的解决方案是让浏览器完成它的工作,而不是更改您已更新的文件的名称。我建议使用生成随机哈希。使用与上面相同的示例,这意味着使用类似以下内容:<script src="js/f8dc525b.myfile.js"></script>

以 Webpack 为例 can generate this hash for you,但您可以通过 using a library 或类似 Math.random().toString(16).slice(2) 的方式轻松地自己生成此值。

【讨论】:

    【解决方案2】:

    如果您的服务器有 php,则用于缓存

    <?php
    header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    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");
    ?>
    

    或者如果你想使用js清除它使用window.location.reload(true)

    【讨论】:

      【解决方案3】:

      您可以尝试使用 JavaScript window.location.replace() 函数:

      <meta http-equiv="refresh" content="0; http://www.redirecturl.com/" />
      <meta http-equiv="pragma" content="no-cache">
      <script type="text/javascript">
      window.location.replace('URL');
      </script>`
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-20
        • 2010-10-07
        • 2014-08-21
        • 2018-10-31
        • 2017-04-25
        • 2012-06-16
        • 2017-06-25
        相关资源
        最近更新 更多