gpt4 book ai didi

php - 只缓存最新版本的javascript文件

转载 作者:行者123 更新时间:2023-11-30 18:15:36 24 4
gpt4 key购买 nike

我在浏览器缓存 javascript 文件时遇到问题,即使我使用

FileETag MTime Size

在htaccess中查看修改时间和大小是否是最新版本。我目前包括这样的 javascript 文件:

<script src="/code.js" type="text/javascript"></script>

我尝试将 SVN 修订信息添加到文件调用中,如下所示:

<script src="/code.js?svn=123" type="text/javascript"></script>

但我找不到一个万无一失的方法来做到这一点,因为我无法通过文件名(任何建议)获得修订版,即使我添加了修订版,HTML 也会被 Smarty 预编译和缓存。

所以我想到了模板不使用缓存 block ,但我还没有尝试过这种方法。文件只编译一次,会有什么不同吗?

所以基本上我只是在收集关于如何强制浏览器只缓存最新版本文件的想法。理想的解决方案是通过实际有效的 htaccess,而不是像 FileETag,因为有了它,您始终必须按 CTRL+F5 才能获得最新版本。

最佳答案

将缓存破坏器添加到文件路径中是最好的方法。你可以通过 ? 方法来完成它,就像你在这里一样,或者将它添加到文件的路径中,如:/static/123/code.js

之后,您添加一个 10 年后的过期 header ,您就可以开始了。所以你的问题是如何在 url 中生成数字。也许您可以更改部署脚本以替换在进行部署时增加该数字,这样您就不需要关心版本号

另一个想法是计算 js 文件的 md5 哈希值并在路径中使用它。

关于php - 只缓存最新版本的javascript文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com