代码改变世界

禁止JS缓存的办法

2011-09-13 09:07  CELL  阅读(674)  评论(1编辑  收藏  举报

对于使用script来引入JS时,经常会因为当前的JS被缓存而无法正常的将修改后的JS及时更新至客户端。

所以呢,就在引入JS时加上一个随机参数。但这样的话又会导致本地不缓存而增加服务器端的压力。所以仅当文件被修改时才要更新。PHP中的实现方法如下:

<script type='text/javascript' src='resources/js/index.php.js?version=<?php echo filemtime("resources/js/index.php.js"); ?>'></script>



但如果是对已经存在的一个项目进行这种替换的话v那么工作量不小。不过可以使用DW的正则替换来实现。

1.Ctrl+F调出DW的查找替换框。

2.选择要替换的文件夹。

3.在查找框中输入:<script(.*?)src=(['|"])(.+?)\2

4.在替换框中输入:<script$1src=$2$3?version=<?php echo filemtime('$3'); ?>$2

5.替换的模式选择正则。

剩下的就是等待了。



上面的正则替换未去考虑大小写,JS引入时已经带入参数的情况。对于复杂情况的适应大家去扩展吧。