【问题标题】:Browser cache - versioning files - but what if browser uses old version?浏览器缓存 - 版本控制文件 - 但如果浏览器使用旧版本怎么办?
【发布时间】:2015-11-07 12:07:27
【问题描述】:

假设我有一个 JavaScript SPA,它将一个文件 X_version1.js 加载到浏览器中,并且该文件将运行。是什么阻止了 X_version1.js 意外调用 X_version0.js 中早些时候缓存在浏览器中的函数?除非明确调用缓存的 .js 脚本,否则不会调用它们吗?在什么情况下会发生这种情况?

这似乎并不牵强,因为有时我们使用缓存版本的 jQuery 或其他任何东西,它们可能不在最近服务器请求中加载的 .js 文件中......

【问题讨论】:

    标签: javascript caching browser browser-cache


    【解决方案1】:

    缓存不会发生在方法级别,而是发生在文件级别。

    如果你有

    <script src="X_version0.js"></script>
    

    然后浏览器会显示“啊,我以前下载过!我将只返回缓存的版本。”但是,当您将来源更改为:

    <script src="X_version1.js"></script>
    

    浏览器之前没有看到该文件,然后去获取它。此时页面中没有任何内容显示加载版本0,因此浏览器不会

    【讨论】:

    • 好的,你知道它只是通过文件名还是它也看服务器源(url)?
    • 据我所知应该是完整的网址。
    猜你喜欢
    • 2012-06-07
    • 2011-11-30
    • 1970-01-01
    • 2018-06-21
    • 2018-09-14
    • 2017-06-02
    • 2017-11-20
    • 1970-01-01
    • 2014-02-05
    相关资源
    最近更新 更多