PbootCMS网站修改CSS样式后自动更新缓存

  • 修改 CSS 或 JS 文件后,由于浏览器缓存机制,用户可能无法立即看到最新样式。
  • 手动添加版本号(如 ?v=1)可以解决缓存问题,但需要每次手动更新版本号,操作繁琐。

解决方案

1. 添加自动时间版本号方法

通过 PHP 动态生成文件的时间戳作为版本号,确保只有在文件内容修改时,版本号才会更新。

步骤 1:编辑通用方法文件
  • 找到文件路径:apps/common/function.php
  • 在文件末尾添加以下代码:
// 自动更新时间版本号 @mk-ver function ver($url) { $ver = filemtime($_SERVER['DOCUMENT_ROOT'] . $url); echo $url . '?v=' . date("YmdHis", $ver); }
代码解析
  • $url:CSS 或 JS 文件的相对路径。
  • filemtime():获取文件最后修改时间。
  • date("YmdHis", $ver):将时间戳格式化为日期字符串(如 20231015120000),作为版本号。

2. 修改样式或脚本调用方式

将原有的静态路径替换为动态调用方式。

原有代码
<link rel="stylesheet" href="{pboot:sitetplpath}/css/common.css">
修改后的代码
<link rel="stylesheet" href="{php}ver('/template/default/css/common.css');{/php}">
关键点
  • {pboot:sitetplpath} 被替换为实际的模板路径(如 /template/default)。
  • 使用 {php} 标签调用 ver() 方法,动态生成带版本号的 URL。

3. 测试效果

  • 修改 common.css 文件内容并保存。
  • 刷新页面,查看生成的 HTML 源码:
<link rel="stylesheet" href="/template/default/css/common.css?v=20231015120000">
  • 如果文件未修改,版本号保持不变;如果文件修改,版本号会自动更新。
posted @ 2025-12-06 12:40  Henry王  阅读(0)  评论(0)    收藏  举报