jss,css添加版本号,防止缓存刷新 [ 2.0 版本 ]
- 作用:企业更新css,js , 为了防止一些用户浏览器自带缓存 , 导致一些更新内容无法显示
- 解决方案: 为我们的css,js 添加一个版本号 , 更新时我们只需改动我们的版本号就可以防止缓存了
代码实现:
a. 在我们的框架中 新建一个文件用来存放我们的版本号 文件名称为:VERISION
b. 在我们的入口文件中设置常量if(file_exists("../verision")) { define("VERISION",file_get_contents("../verision")); } else { define("VERISION",time()); }
c. 在我们封装类中 给我们的js,css文件 拼接我们的版本号
namespace app\commands; class register { //type为类型 js,css path为我们引入的路径 ,depend为我们的依赖包也可以不写 public static function registerFile($type,$path,$depend) { $ver = defined("VERISION") ? VERISION :time(); $path = $path."?ver=".$ver; if($type == 'js') { return \Yii::$app->getView()->registerJsFile($path,['depends'=>$depend]); } return \Yii::$app->getView()->registerCssFile($path,['depends'=>$depend]); } public static function registerCss($path,$depend) { return self::registerFile("css",$path,$depend); } public static function registerJs($path,$depend) { return self::registerFile("js",$path,$depend); } }
Dengyihao
注册时间:2017-09-26
最后登录:2017-11-23
在线时长:4小时30分
最后登录:2017-11-23
在线时长:4小时30分
- 粉丝1
- 金钱210
- 威望30
- 积分550
共 2 条评论
缓存很烦,添加本版本号是不错的选择,但可以最好还是后台可控开启关闭比较好,开发发开,上线关闭,访问速度略快的
HTML也要加入相关的防止HTML缓存的meta标签,不然即使JS版本号变了,但是HTML页面依旧是缓存的话,还是不会刷新,除非强制刷新