事件 - htmx:historyCacheMiss

htmx:historyCacheMiss 是 HTMX 在处理浏览器历史记录恢复(如返回、前进)时触发的事件,表示找不到该页面对应的缓存内容。

换句话说:你使用了 hx-push-url 或浏览器的后退/前进按钮返回到某个页面状态,但 HTMX 没有保存当时的 DOM 缓存,于是触发了这个事件。

事件参数

  • detail.xhr - XMLHttpRequest将检索远程内容以进行恢复
  • detail.path - 正在恢复的页面的路径和查询

常见原因

原因 描述
页面刷新或跳转过 浏览器清空 HTMX 内部缓存
使用了 location.reload() 或直接访问页面 会失效
页面太久未访问 HTMX 的内存中已丢失之前缓存
不支持缓存的大型响应 HTMX 可能不会保存

示例代码

<script>
  document.body.addEventListener("htmx:historyCacheMiss", function(evt) {
    console.warn("历史记录缓存丢失,将重新从服务器加载页面");
    // 你可以选择在这里显示一个 loading,或者记录日志
  });
</script>