✨ 功能特性
| 多 CDN 源 | 内置 jsDelivr、UNPKG,也支持自定义 CDN 地址 |
| 灵活文件类型 | 可自定义需要 CDN 加速的文件扩展名(js/css/字体/图片等) |
| 排除路径 | 支持关键词排除,不想替换的 URL 一行一个 |
| SRI 跨域属性 | 可选为标签自动添加 crossorigin="anonymous" |
| 调试模式 | 管理员可在页面源码注释中查看所有替换记录 |
| 后台资源可选 | 可选是否同时加速后台管理面板的静态资源 |
📦 安装方法
将
CdnAssets文件夹上传至 Typecho 插件目录:/usr/plugins/CdnAssets/- 登录后台 → 控制台 → 插件 → 找到 CdnAssets → 点击 激活。
- 点击 设置 配置 CDN 选项后保存。
⚙️ 配置说明
| 自定义 CDN 地址 | 手动填写 | 自建 CDN / 对象存储 |
| jsDelivr | https://cdn.jsdelivr.net | 全球加速,GitHub 资源友好 |
| UNPKG | https://unpkg.com | npm 包直链加速 |
自定义 CDN 域名
当选择「自定义 CDN 地址」时填写,例如:
https://static.example.com结尾不要加斜线 /。加速文件类型
默认值:
js,css,woff,woff2,ttf,eot,svg,png,jpg,jpeg,gif,ico,webp按需增删,多个用英文逗号分隔。
排除路径
每行填写一个路径关键词,包含该关键词的 URL 将不会被 CDN 替换。示例:
/admin/
alipay
wechat-paySRI 完整性校验
开启后会在 <script> 和 <link> 标签中附加:
crossorigin="anonymous"需要 CDN 服务器支持 CORS,否则资源可能加载失败。
调试模式
开启后,仅登录管理员可在页面 HTML 源码底部看到类似输出:
<!-- [CdnAssets Debug]
[CDN] https://example.com/usr/themes/mytheme/css/style.css → https://cdn.bootcdn.net/usr/themes/mytheme/css/style.css
[CDN] https://example.com/usr/themes/mytheme/js/app.js → https://cdn.bootcdn.net/usr/themes/mytheme/js/app.js
-->🔧 工作原理
插件通过 PHP 输出缓冲(Output Buffering) 拦截页面最终 HTML,利用正则表达式匹配 src / href 属性中以博客根 URL 开头的静态资源链接,将域名部分替换为配置的 CDN 域名,对内容本身零侵入。
原始: src="https://blog.example.com/usr/themes/x/js/main.js"
替换后: src="https://cdn.bootcdn.net/usr/themes/x/js/main.js"🧩 兼容性
- Typecho 1.3.x(PHP 7.4 / 8.x)
- 与大多数 Typecho 主题兼容
- 不依赖任何第三方库
评论区:
暂无评论,快来抢沙发