【问题标题】:How To Force Reload Cached HTML Files如何强制重新加载缓存的 HTML 文件
【发布时间】:2021-04-14 14:58:22
【问题描述】:

我有一个带有 css 和 html 的简单网站,每次我上传新内容都需要几天时间才能刷新。是否有一行代码强制浏览器重新加载我的代码?我有一个每周更改的 pdf 链接。我不知道是强制使用整个代码还是强制使用 pdf 链接。 谢谢

【问题讨论】:

    标签: javascript html css caching reload


    【解决方案1】:

    您可以在静态文件中添加参数,例如:

    <script src="your-source-here.js?v=34535" />
    

    其他文件也是如此。

    对于更高级的解决方案: How to force the browser to reload cached CSS and JavaScript files

    【讨论】:

    • 嘿,谢谢你的反馈,所以把这段代码放在每个 html 文件中(在 内)?
    • 是的,它应该可以解决问题。不要忘记 - 每次上传时将 v= 部分更改为不同的数字
    • 我也倾向于让我的开发工具始终开启“禁用缓存”。这给我带来了一些问题,但总体而言,在开发过程中要容易得多。
    【解决方案2】:

    使用 CTRL + SHIFT + R 重新加载

    chrome 的作用是,当您加载页面时,它会加载外部脚本。第一次加载脚本时,它会缓存它,这样就不必每次都加载它。要清除缓存,请使用 CTRL SHIFT R

    看看这个: Clear the cache in JavaScript

    【讨论】:

      【解决方案3】:

      请查看以下链接:How do we control web page caching, across all browsers?

      有不同的方法可以做到这一点:

      如果您想使用htaccess 文件,请在其中添加以下行:

      <IfModule mod_headers.c>
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires 0
      </IfModule>
      

      如果您只想在 html 主文件中执行此操作,请在 head 标记中添加以下内容:

      <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">
      

      希望我的回答对你有帮助。

      【讨论】:

      • 唯一的问题是它会影响网站的性能(页面加载时间会更长)
      猜你喜欢
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多