gpt4 book ai didi

javascript - 在所有浏览器上强制更新缓存

转载 作者:行者123 更新时间:2023-12-03 10:01:55 27 4
gpt4 key购买 nike

我有一个 MEAN stack 网站(单页应用程序),并确保浏览器缓存静态文件,如下所示:

var app = express(); //express server
app.use(express.static(__dirname + "/public", { maxAge: 86400000*30 }));
app.get("*", function(req, res){ res.sendFile(__dirname + "/public/index.html"); });

现在在我的 index.html 中,我通常链接到我的 CSS 和 JS 文件,如下所示:

<link rel="stylesheet" type="text/css" href="/framework/css/main.min.css?version=1.9">
<script type="text/javascript" src="/framework/js/min/app.min.js?version=1.7"></script>

请注意文件名末尾的版本控制号。现在,如果我更新 CSS 或 JS,我只需上传新文件并更改版本控制号。这应该会在页面刷新时更新缓存(并且确实如此)。

问题是,如果用户只是再次访问该网站(并且没有点击刷新),或者如果他们在移动设备上访问过该网站并且没有关闭浏览器,只是在另一天再次打开它,他们不获取新文件 - 他们获取缓存版本。

这给我带来了各种各样的问题。有没有办法在更新时强制提供和缓存新文件?我每 1 或 2 周更新一次,为了提高网站速度,我希望在此期间缓存文件。

最佳答案

Google Inbox 会发出一条小通知“请刷新您的页面 - 有新版本可用”。

也许你应该尝试这种方法。

动态重新加载并不是小菜一碟...也看看这些

Is there an easy way to reload css without reloading the page?

Dynamically reload local Javascript source / json data

关于javascript - 在所有浏览器上强制更新缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558193/

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