强制浏览器每次重新加载 CSS, JS 档


当网站的 CSS 及 Javascript (.css 及 .js) 作出修改后,这些更新可能不会立即呈现及访客,这是因为浏览器为了提高开启网站的速度,会将 .js 及 .css 档储存在快取内,下次进入网站时不会重新加载所致。

网站访客可以清除网站的快取然后重新加载,便会看到新内容。但网站管理员总不能要求每个访客这样做,需要在网页的层面解决。

一个简单的解法是在 HTML 的 Meta Tag 加入控制快取的指示,例如:

但这个方法很多时都不会长时间有效。

另一个较简单实用的方法是在档名后面加上一个 GET 变量,这个 GET 变量可以是日期时间,也可以是版本号,例如:

当下次修改 CSS 或 JS 后,在网站的 HTML 修改这个版本号即可。

如果在 PHP 的网页,可以用以下方法,每次自动定义一个新的 GET 变量:

如果网页不是用 PHP 开发,可以用 Javascript 来完成:

但这个加上 GET 变量的方法也是有缺点的,因为每次都会重新加载 CSS 及 JS, 对服务器产生较多连线,以及访客会用多一点时间加载网页,所以最好只选择一些较常改动的 CSS 及 JS 档使用。

Leave a Reply