2012-06-01 198 views
1

我对javascript文件添加了相当大的改动。但是,为了使新的更改能够注册,我需要刷新我的浏览器。我想这也是所有其他使用这个网站的人的方式。强制刷新客户端浏览器

有没有办法让客户端的浏览器缓存无效并强制它下载新的js文件?

回答

4

您可以重命名文件,或只是加载文件时添加一个随机参数:

<script src="/javascripts/application.js?version=4" type="text/javascript"></script> 
3

您可以添加一个参数的文件名,如

<script src="script.js?rnd=2131231"></script> 
1

有一个很全面的讨论here,有几种方法可以做到这一点。
推荐的解决方案(的mod_pagespeed)可能不适合你的情况下,最好的解决方案您的项目不够大,或者你不使用Apache,在这种情况下,我会推荐格式,如:

<script src="/{sha_1_here}/script.js"></script> 

而不是GET参数,因为显然有些浏览器不会缓存带参数的脚本。
这应该无处不在,你只需要重写URL服务器端。

0

出于开发目的,我禁用浏览器端的缓存,以便它始终提取。

但是,对于生产,要重置,以便所有客户端用户的浏览器应该下载新版本,你可以看看Apache的设置过期缓存的文件。

相关问题