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">- 如果文件未修改,版本号保持不变;如果文件修改,版本号会自动更新。

扫码添加技术【解决问题】
专注网站运营、网站安全十余年。
专业解决各种疑难杂症,您有任何网站问题都可联系我们技术人员。
本文来自博客园,作者:Henry王,转载请注明原文链接:https://www.cnblogs.com/heneryw/p/19307286

浙公网安备 33010602011771号