更改JS后,让用户即刻体验到---JS缓存的最好方法

转载:  http://opensuse.javaeye.com/blog/314658

这个标题不太恰当,但是和我在编程时起名字一样,我自己写的东西,我自己明白就好了。
 
郁闷,不知道为啥别人用短语叫英文好。我用就叫“不能用短语的,最好是一个词”,唉。呵呵。抱怨一下。。
 
切入正题,昨天的班不是白加的,老大的经验果然丰富,给我们讲了这么一件事。
 
在网站开发上线后由于种种原因我们要改JS文件,增加一个函数。或者更改一个函数的实现之类的。
 
但是我们改完后,一般浏览器由于缓存的问题就会把原来的给留住,这样用户只有按“CTRL+F5”强行刷新才会用到新的JS文件。
 
但是由于 HTML是会即刻更新的,这样就会导致一个问题,有可能HTML调用的是一个新的JS函数。可是用户客户端的是一个旧的JS文件。
 
这样就用户浏览器就会报错,而我们又不能告诉每个用户,“兄弟我们需要你刷新一下。嘿嘿,不好意思哈。”。这样会被头骂死的。
 
于是老大给我们讲了一下他们团队用的一个方法,还真TMD帅。
 
实现简单,功能强大,嘿嘿。
 
在引用JS的时候呢,后面加一个参数,最后一次这个文件的修改时间,当然取一个文件最后的修改时间是用PHP自带的系统函数的。嘿嘿。具体是啥我记不清了。大家自己翻手册哈。
 
例如这样:
Php代码 
  1. <script type="text/javascript" src="abc.js?v='<?php echo FileSvc::getLastModTime(\"abc.js\");?>'"></script>  
 
就这样,因为浏览器打开的时候会匹配参数的,如果参数不同了(也就是说你现上的文件更新过了),那么好,浏览器就会重新上服务端请求一下这个文件。这样就不会有问题啦。
 
嘿嘿。
 
另外想起来那个函数的名字了:filemtime,有啥不明白的请看手册,或者  超越PHP

你可能感兴趣的:(js,职场,缓存,休闲)