扩展

htmx 支持扩展,以增强其提供的核心超媒体基础结构。扩展机制减轻了核心库添加新功能的压力,使其能够专注于其主要目的,即 推广超媒体控件。

如果您有兴趣为 htmx 创建扩展,请参阅构建 htmx 扩展。

htmx 扩展分为两类:

  • 核心扩展 - 由 htmx 团队支持
  • 社区扩展——得到更广泛社区的支持

核心扩展

名称 描述
头部支撑 提供对htmx请求中head标签信息(样式等)合并的支持
htmx-1-兼容 将 htmx 2 的大部分行为更改回滚到 htmx 1 的默认设置。
成语 提供morph基于htmx 团队创建的idiomorph变形库的交换策略。
预加载 此扩展程序允许您在用户请求 HTML 片段之前将其加载到浏览器的缓存中,以便用户几乎可以立即加载其他页面。
响应目标 此扩展允许您指定在收到不同的 HTTP 响应代码时要交换的不同目标元素。
上证指数 直接从 HTML提供对服务器发送事件的支持。
WebSockets 直接从 HTML提供与Web Sockets服务器的双向通信

社区扩展

名称 描述
ajax 标头 X-Requested-With为 htmx 发出的所有请求添加标头
alpine-morph Alpine.js 现在有一个轻量级的morph 插件,这个扩展允许您将其用作 htmx 中的交换机制,当您通过 htmx 交换整个 Alpine 组件时,这对于保留 Alpine 状态是必要的。
类工具 该class-tools扩展允许您使用classes或data-classes属性指定将在元素上或元素外交换的 CSS 类。
客户端模板 此扩展支持通过客户端模板将 JSON/XML 请求响应转换为 HTML,然后再交换到 DOM。
调试 console.debug此扩展包括通过函数或带前缀console.log的函数记录其所在元素的所有 htmx 事件DEBUG:。
禁用元素 hx-disabled-elt此扩展在 htmx 请求期间禁用元素,当在触发请求的元素上配置时。请注意,此功能现在通过属性成为 htmx 核心的一部分
事件标题 此扩展将Triggering-Event标头添加到请求中。标头的值是触发请求的事件的 JSON 序列化版本。
包含值 此include-vals扩展允许您以编程方式使用属性在请​​求中包含值include-vals。此属性的值是一个或多个名称/值对,它们将被评估为 javascript 对象文字中的字段。
json-enc-custom 此扩展的工作原理与 json-enc 类似,但允许非常复杂的结构,例如嵌入 JSON 对象、列表或处理索引,只需使用名称属性即可。
json-enc 此扩展以 JSON 格式而不是 url 格式对参数进行编码。
加载状态 此扩展允许您在请求正在进行时轻松管理加载状态,包括禁用元素以及添加和删除 CSS 类。
形态交换 提供morph基于morphdom变形库的交换策略。
多重交换 此扩展允许您交换 HTML 响应中标记的多个元素。您还可以为每个元素选择应使用的交换方法。
无缓存 此扩展强制 HTMX 绕过客户端缓存并发出新请求。hx-no-cache还添加了一个标头以允许绕过服务器端缓存。
路径依赖 此扩展支持根据路径表达元素间的依赖关系,受到intercooler.js 依赖机制的启发。
路径参数 此扩展使用请求参数来填充路径变量。已使用的参数已被删除,因此它们将不再在查询字符串或正文中发送。
刪除自身 允许您在指定的间隔后删除元素。
替换参数 此扩展使用请求参数替换现有参数。如果给定值为空字符串,则参数将被删除。此扩展在分页、搜索等情况下非常有用,您只想替换少数参数而不是重置所有参数。
已恢复 使用时检测到后退按钮时触发事件hx-boost
安全随机数 该safe-nonce扩展可用于提高应用程序/网站的安全性,并通过允许您安全地返回已知的受信任内联脚本来帮助避免 XSS 问题
信号器 通过SignalR提供双向实时通信。
amz-content-sha256 HTMX 扩展用于与需要内容哈希作为数据完整性验证请求的一部分的 AWS 服务进行交互。