fix(pjax): 回退 cacheBust —— 恢复重复导航秒出

实测(usj.cc):cacheBust 让每次 PJAX 多付 ~200-380ms 网络 RTT,
用户可感知卡顿;关掉后重复导航走浏览器缓存(实测 1ms)。
新鲜度兜底:① pjax:success 版本同步(部署换指纹自动整页刷一次)
② CDN HTML 缓存 TTL 待调短(控制台配置)。
This commit is contained in:
zqlit committed 2026-10-07 23:12:39 +08:00
1 parent 202ee76cd2
commit 46edf44904
1 file changed
+6 -4
+6 -4
View File
@@ -8,10 +8,12 @@
var pjax = new Pjax({ var pjax = new Pjax({
// 这里填写页面中改变的部分(和 CSS 选择器用法一样) // 这里填写页面中改变的部分(和 CSS 选择器用法一样)
selectors: ["title", "#pjax-container"], selectors: ["title", "#pjax-container"],
// ★ cacheBust: PJAX 取新页面时在 URL 上加时间戳参数,绕开浏览器/CDN // ★ cacheBust 保持 false:重复导航靠浏览器 HTTP 缓存秒出(实测 1ms)。
// 对 HTML 的长期缓存。没有它,HTML 缓存期内 PJAX 会把「部署前的旧页面」 // 开 true 会给每次 PJAX 加时间戳绕开缓存 → 每次导航多付 ~200-380ms
// 直接换进来(站点 HTML 的 Cache-Control 长达数天,踩过实锤)。 // 网络往返(2026-10-07 实测,用户可感知的「点 nav 卡一下」)。
cacheBust: true, // 新鲜度由两层兜底:① 部署换样式表指纹后,下方 pjax:success 的版本
// 同步自动整页刷一次;② CDN 的 HTML 缓存 TTL 应调短(控制台配置)。
cacheBust: false,
elements: "a", // 拦截所有链接 elements: "a", // 拦截所有链接
switches: { switches: {
"#pjax-container": Pjax.switches.default "#pjax-container": Pjax.switches.default