【问题标题】:Cache-busting for html用于 html 的缓存清除
【发布时间】:2017-08-08 13:26:15
【问题描述】:

我读过这个叫做缓存清除的方法,它允许我们将版本参数添加到我们的 js 和 css 文件中,这样客户端就不必在每次更新时清除缓存。但是,我没有阅读任何关于 html 的内容。

有什么方法可以让我们在不清除缓存的情况下加载最新的 html 文件更改?

附:我不了解其他人,但我刚刚发现缓存我的模板的是 angularjs。我还是发布了自己的解决方案

【问题讨论】:

    标签: angularjs html caching cache-control


    【解决方案1】:

    解决了。 只需将参数字符串附加到引用 html 文件的路由,就像我们对 css 和 js 的缓存清除所做的那样。

    .when('/login', {
            templateUrl: "../views/login.html?v=" + versionNumber,
            controller: "LoginController"
        })
    

    其中 'versionNumber' 是一个全局变量。

    【讨论】:

    • 我建议设置第二个变量,例如 versionUrl = "?v=" + versionNumber 这样您就不必在末尾添加 "?v="应用中的每个 templateUrl。
    【解决方案2】:

    编辑

    原始答案中的链接已损坏。

    除了接受的答案之外,this question 上的答案根据您的构建过程提供了有趣的替代方案。

    原创

    您应该能够通过 js 强制重新加载浏览器,同时通过仅在 html 文件的更新版本上存在的特定于页面的 javascript 将哈希应用于 url。

    这将使您知道何时收到文件的最新版本。

    https://developer.zendesk.com/blog/static-file-cache-busting

    【讨论】:

    • @michaelmsm89 谢谢。更新了答案。
    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2010-12-22
    • 2016-10-08
    • 1970-01-01
    • 2019-03-18
    相关资源
    最近更新 更多