扩展
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 服务进行交互。 |