十一月
6
当你修改了页面中引用的javascript文件,然后使用浏览器浏览时,你会发现显示的内容还是有时旧版本js文件的内容。如果你使用的是IE浏览器的话,即使你使用了“删除浏览器历史记录”菜单命令,然后刷新网页,得到的结果还是旧的。Opera也是一样。如何解决这个问题呢?
其实这是客户端静态文件缓存作用的结果。对于IE浏览器,你可以在清除缓存后重启IE,这样就能获得新版本的js文件了。Opera你可以直接在地址栏输入js文件的路径,然后刷新,使屏幕上打印出新版本的js文件。再打开目标网页,同样能获得新版本js文件,显示的是已经更新了的内容。Firefox似乎只要在页面刷新一次就能获得最新网页内容了。
但是,你不能要求每个用户都使用这些方法吧?其实有一种比较简单的方法。就是在引用.js文件的位置以参数的形式提供一个该文件的版本号(或者其它标识内容),参数引用在js并不产生任何程序性的作用的,却在这里起到实时更新的作用 。比如:
<script type="text/javascript" src="client_script/controls.js?v=20060628"></script>
这是6月28号的版本,以后更新.js的时候
<script type="text/javascript" src="client_script/controls.js?v=20060707"></script>
这样用户就能马上收到最新版本的.js文件了。
这个可不可以动态修改啊?