hx-history

在当前文档中的任何元素上,或者 htmx 加载到当前文档中的任何 html 片段上,将 hx-history 属性设置为 false,以防止在 htmx 记录页面状态快照时将敏感数据保存到 localStorage 缓存中。

历史导航将按预期工作,但在恢复时将从服务器而不是历史记录缓存请求 URL。

  • 当启用 hx-history 时,HTMX 会在请求成功后把当前内容和 URL 推入浏览器历史堆栈。

  • 这样用户就可以使用浏览器的“前进”和“后退”按钮来恢复之前的页面状态。

  • 关闭 hx-history 后,HTMX 不会自动推送历史记录。

默认行为

  • 默认情况下,HTMX 是开启历史管理的(等同于 hx-history="true")。

  • 如果你希望关闭它,需要显式设置 hx-history="false"。

示例代码

<html>
<body>
<div hx-history="false">
 ...
</div>
</body>
</html>

在某些场景,例如:展示用户的 AppID 及 SecrectId 的元素,推送到浏览器历史中有可能会造成安全隐患,此时就适合使用 hx-history = "false" 禁止把 包含 AppID 及 SecrectID 的内容缓存到浏览器历史。