Hasty Briefsbeta

双语

Changes in htmx 4.0

4 months ago
  • #javascript
  • #web-development
  • #htmx
  • htmx 4.0 使用 fetch() API 进行了完全重写,取代了 XMLHttpRequest。
  • 显式属性继承现为默认行为,使用 `:inherited` 修饰符实现。
  • 事件命名规范改为 `htmx:阶段:动作[:子动作]` 以保持一致性。
  • 历史记录存储不再使用 `localStorage`;导航时执行完整页面刷新。
  • 非200响应现在默认执行内容替换(204和304状态码除外)。
  • 新增变形交换样式(`innerMorph`/`outerMorph`)以更好地保留DOM状态。
  • 内置流式响应支持,并改进了SSE事件处理。
  • 默认启用View Transitions API实现动画化DOM状态过渡。
  • 新增脚本API提供更好的async/await支持和自定义JavaScript集成。
  • 统一请求上下文(`ctx`对象)确保事件处理一致性。
  • 引入现代化交换术语(`before`/`after`/`prepend`/`append`)。
  • 新增 `:append` 修饰符实现属性值的追加式继承。
  • 通过 `hx-status:XXX` 属性实现HTTP状态码条件化内容替换。
  • 新增 `<hx-partial>` 标签支持单次响应中的多目标替换。
  • 多个属性被重命名或移除,新增如 `hx-action` 和 `hx-method` 等属性。
  • 更新事件名称确保一致性,新增生命周期事件提升控制力。
  • 扩展现在全局注册,不再需要 `hx-ext` 属性声明。