还在教客户强制刷新么?弱爆了,快来试试这个

2022-04-15 0 88

为什么前端效果客户看不到?

甲方:搞什么!我没看到效果啊!

前端:我好难啊,我明明改了,你多刷新几次,强制刷新试试,就是键盘左下角那个键跟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);

}

将文件路径传入,我们就会返回一个带参数的新路径,这样就完成了根据文件更新时间自动生成版本号的过程。

下面就请移步:用PbootCms扩展标签定制自己的写模板方式

为什么不写下去了?因为我严重推荐您使用上面这个扩展,上面的文章中已经集成了这个功能,并且对模板素材:图片、js、css等都做了相关优化。至少不用每次写个路径都要写一遍:{pboot:sitepath},多冗余啊。

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!88525903@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

发表评论
暂无评论