jQuery 4.0 测试版发布,不再支持 IE 10,体积更小,性能更好
内容提要
jQuery发布了测试版4.0,放弃对IE 10及更低版本的支持,移除废弃的API和多余代码,简化行为。更新减少了文件大小,移除了对过时浏览器的支持。开发者需注意更新函数和事件顺序变化。
延伸解读
升级前的兼容性检查
jQuery 4.0 放弃了对 IE 10 及更低版本的支持,并移除了为旧版 IE 设计的代码。如果你的项目仍需兼容这些浏览器,应继续使用 jQuery 3.x。此外,对 Edge Legacy、iOS 11 之前和 Firefox 65 之前的版本支持也已删除,升级前需确认用户浏览器分布。
废弃 API 的迁移准备
4.0 移除了多个已废弃的 API,如 jQuery.isArray、jQuery.parseJSON、jQuery.trim 等。这些函数在之前版本中已被弃用,现在应替换为原生方法。开发者需检查代码中是否使用这些函数,并及时更新以确保兼容性。
行为变化与潜在影响
事件顺序调整:focusin 和 focusout 的处理顺序变为 blur -> focusout -> focus -> focusin,可能影响依赖旧顺序的插件。同时,移除了内部数组方法 push、sort 和 splice,若使用了这些内部方法,需改用标准数组方法。
AJAX 与跨域请求的调整
jQuery.ajax 现在自动处理 FormData,简化了二进制数据传输。但不再自动将 dataType: "json" 和回调转换为 JSONP 请求,推荐使用 CORS 进行跨域操作,以避免意外执行跨域代码。开发者需调整相关代码。
Q&A
jQuery 4.0 测试版有哪些主要变化?
jQuery 4.0 测试版的主要变化包括:放弃对 IE 10 及更低版本的支持,移除已废弃的 API,移除未发布的内部参数,简化复杂的“魔法”行为,文件大小减少 867 字节(gzip 压缩后),并带来错误修复和性能提升。
jQuery 4.0 为什么不再支持 IE 10?
为了适应现代 Web 标准,jQuery 4.0 放弃了对 IE 10 及更低版本的支持,移除了专门为旧版 IE 设计的代码,使代码库更高效,文件大小减少。预计 jQuery 5.0 将彻底放弃对 IE 11 的支持。
jQuery 4.0 移除了哪些已废弃的 API?
jQuery 4.0 移除了以下已废弃的 API:jQuery.cssNumber、jQuery.cssProps、jQuery.isArray、jQuery.parseJSON、jQuery.nodeName、jQuery.isFunction、jQuery.isWindow、jQuery.camelCase、jQuery.type、jQuery.now、jQuery.isNumeric、jQuery.trim、jQuery.fx.interval。开发者应使用原生方法或替代函数更新代码。
jQuery 4.0 中事件顺序有什么变化?
为了符合最新的 W3C 规范,jQuery 4.0 中 focusin 和 focusout 事件的处理顺序发生了变化,新的顺序是:blur -> focusout -> focus -> focusin。这可能会影响依赖旧顺序的插件或代码。
jQuery 4.0 对 AJAX 和跨域请求做了哪些改进?
jQuery.ajax 现在可以自动处理二进制数据,包括 FormData,无需额外配置。同时,jQuery 4.0 不再自动将 dataType: "json" 和提供的回调函数转换为 JSONP 请求,推荐使用 CORS 进行跨域操作,因为它在所有支持的浏览器中都有效,并有助于避免在不知情的情况下执行跨域代码。
jQuery 4.0 的发布历史和当前使用情况如何?
jQuery 4.0 的发布经历了多次跳票,距离上一个主要版本 jQuery 3.0(2016 年 6 月发布)已有约 8 年时间。目前,jQuery 仍然是影响力最大的 JavaScript 库之一,根据 BuiltWith 统计,排名前 100 万的网站中超过 60% 以某种方式使用 jQuery。