如何确保浏览器在更新后加载文件的最新版本?

jrt*_*hib 5 html javascript apache nginx

在推出新的网站更改或 Web 应用程序更改时,有时浏览器会在您导航到该站点时加载旧的 javascript 或图像文件。通常,浏览器需要手动刷新页面才能加载新更新的文件。

如何确保更新后,用户在第一次加载页面时收到最新的文件,而不必手动刷新以清除任何缓存文件。是否有一种非常可靠的方法可以通过发送过期标头或上次修改来做到这一点?

Ale*_*der 5

我假设您有一个构建脚本或一堆任务脚本来帮助您完成更新网站/应用程序的重复过程。由于您使用 javascript 标签标记了您的问题,我将为您提供基于 javascript 的解决方案。

您可以使用(或已经使用)像GruntGlup 任何 其他任务运行程序,然后运行缓存清除任务,该任务将从此更新您的 url:

<script src="testing.js"></src>
<link href="testing.css" rel="stylesheet">
<img src="testing.png">
Run Code Online (Sandbox Code Playgroud)

对此:

<script src="testing.js?v=123456"></src>
<link href="testing.css?v=123456" rel="stylesheet">
<img src="testing.png?v=123456">
Run Code Online (Sandbox Code Playgroud)

这将阻止浏览器重复使用您的资源。


use*_*573 -7

检查每个系统可用的数据。