#优质博文 #JavaScript #前端 #新动态
jQuery 4.0.0:时隔近十年,jQuery 发布了 4.0.0 正式版,带来了大量现代化改进,包括移除对旧版浏览器(IE 10 及更早版本)的支持、引入新特性以及优化内部实现
[以下是方便搜索索引的大纲 (AI 生成),请读原文]
jQuery 4.0.0:时隔近十年,jQuery 发布了 4.0.0 正式版,带来了大量现代化改进,包括移除对旧版浏览器(IE 10 及更早版本)的支持、引入新特性以及优化内部实现
AI 摘要:本文宣布了 jQuery 4.0.0 正式版的发布。恰逢 jQuery 诞生 20 周年,该版本移除了对 IE 10 及以下旧版浏览器的支持,将源码从 AMD 迁移至 ES Modules (ES 模块),引入了 Trusted Types (可信类型) 以增强安全性,并清理了大量过时的 API 和内部方法。虽然包含一些重大变更,但团队提供了迁移指南和插件,旨在让大多数用户能平滑升级。
[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 社区动态与版本概览
• 庆祝 jQuery 诞生 20 周年(2006-2026)。
• 这是近 10 年来的首个主要版本,包含重大变更但尽量保持升级平滑。
• 提供 升级指南 和 jQuery Migrate 插件 协助过渡。
2. 浏览器支持变更
• 移除 IE 10 及更早版本的支持,计划在 jQuery 5.0 移除 IE 11。
• 移除 Edge Legacy (旧版 Edge)、旧版 iOS (11 以下)、Firefox (65 以下) 及 Android 浏览器支持。
3. 架构现代化与安全性
• 源码迁移:从 AMD 迁移至 ES Modules (ES 模块),改用 Rollup 打包,兼容现代构建工具。
• 安全增强:支持 Trusted Types (可信类型),确保符合 require-trusted-types-for 等 CSP (内容安全策略) 指令。
• 异步加载:大多数异步脚本请求改用 <script> 标签以避免 CSP 错误。
4. API 变更与瘦身
• 移除过时 API:删除了 jQuery.isArray, jQuery.trim, jQuery.now 等已有原生替代方案(如 Array.isArray, String.prototype.trim)的方法。
• 原型链清理:从 jQuery 原型中移除了本用于内部的数组方法(如 push, sort, splice)。
• 移除魔法行为:删除了部分未公开的内部参数和过于复杂的“神奇”行为,Gzip 压缩后的体积减小了约 3 KB。
5. 事件与规范对齐
• 事件顺序对齐:Focus (聚焦) 事件顺序现在遵循 W3C 规范(顺序为:blur, focusout, focus, focusin),不再覆盖原生行为。
• Slim Build (精简版) 优化:进一步移除了 Deferreds (延迟对象) 和 Callbacks,体积缩减至约 19.5 KB (Gzipped)。
6. Ajax 与功能增强
• 支持二进制数据:允许通过 Ajax 传输 FormData 等二进制数据。
• 脚本执行逻辑:除非明确提供 dataType,否则不再自动执行脚本;不执行失败的 HTTP 响应脚本。