pbootcms网站系统操作教程:pbootcms还在教客户强制刷新么?弱爆了,快来试试这个,让网站css和js自动添加版本号,做得自动强制刷新网站。
为什么前端效果客户看不到?
甲方:搞什么!我没看到效果啊!
前端:我好难啊,我明明改了,你多刷新几次,强制刷新试试,就是键盘左下角那个键跟F5一起按….
这个大概就是前端工程狮一个很日常的对话了。为什么总是出现这种情况呢?
因为我们的浏览器会有缓存,让网站访问更快。
这样好处不多说了,缺点就是前端更新了文件,浏览器没有及时更新缓存。
同学们大多都是这样来解决的,手动在模板里为css文件(或其他需要更新缓存的文件)追加一个参数,或者叫版本号。
例如:
<link rel='stylesheet' href='css/custom.css?ver=1.0' type='text/css' />
以上?ver=1.0,就是我们前端加上的,为了让浏览器知道我这个文件更新了。
你快来抓取我最新的。然后不停的修改,不停的更新版本号,一直到一刀?ver=999。
这也是一个很痛苦的过程。 那么有没有一个优秀的解决方案呢?答案是有的,看这里。

解决方案
先介绍一个PHP函数:filemtime。
filemtime() 函数返回文件内容的上次修改时间。
如果成功,该函数将以 Unix 时间戳形式返回文件内容的上次修改时间。如果失败,则返回 FALSE。
我们来利用这个文件修改时间戳做些文章,写一个方法:
//自动更新时间版本号
public function auto_version($url){
$ver = filemtime(DOC_PATH . $url);
return $url.'?v='.date("YmdHis",$ver);
}
将文件路径传入,我们就会返回一个带参数的新路径,这样就完成了根据文件更新时间自动生成版本号的过程
因为我严重推荐您使用上面这个扩展,上面的文章中已经集成了这个功能,并且对模板素材:图片、js、css等都做了相关优化。
至少不用每次写个路径都要写一遍:{pboot:sitepath},多画蛇添足啊。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。
如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:1484712216@qq.com
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。
如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:1484712216@qq.com