• 博主:孽 (云趣科技)
  • QQ:点击这里给我发消息
  • 微信:dylanv
  • 业务:切图,建站,二开,运维
  • yeka-ad
  • yeka-ad
文章目录

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

还在教客户强制刷新么?弱爆了,快来试试这个
稿件作者 CMS博客 2020-04-14 12:10 PbootCMS教程 2209

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

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

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

联系客服

请使用QQ扫码
请使用微信扫码
回复时间:工作日下午4点30以后;周六周日不限。
  • 分享:

文章评论(审核通过可见)

说点什么
共有0条评论

monicaLogo.83e0ae18.png


通过Monica免费试用满血可联网的DeepSeek R1!

一站式AI助手,个性化,编写,免费


Monica 利用剪短的人工智能模型,包括DeepSeek R1、OpenAI o1、GPT-4o、Claude 3.7和Gemini1.5,来提升您的聊天、搜索、写作和编程体验。