JQuery 4.0震撼发布:这是复兴还是告别?
创始人
2025-07-14 14:41:52
0

jQuery,这个曾经主宰前端开发的JavaScript框架,最近发布了4.0 beta版本,标志着它进入了一个新的阶段。尽管新的框架和库层出不穷,jQuery凭借其广泛的功能积累和庞大的用户基础,在前端领域依然保持着一席之地。

那么,曾经的前端霸主jQuery,今天的地位如何呢?本文将分享jQuery 4.0更新的亮点,回顾其辉煌的发展历程,并讨论jQuery的未来前景。

jQuery 4.0更新亮点

经过慎重准备,jQuery团队终于发布了v4.0的beta版本!这个版本带来了错误修复、性能提升和显著变化,最值得注意的是放弃了对IE<11的支持,以更好地适应现代web标准。jQuery团队长期寻求的重大改进在jQuery 4.0.0 beta中得以实现,包括清除多余代码、淘汰已废弃的API、移除未发布的内部参数,以及简化过于复杂的“魔法”行为。

让我们来看看4.0版本带来了哪些更新。

向IE<11说再见

随着技术的进步,jQuery 4.0决定停止支持IE10及更早版本的浏览器。我们计划在未来的版本中(jQuery 5.0)进一步缩小浏览器支持范围。这次更新移除了专为旧版本IE设计的代码,使代码库更加高效。我们也停止了对其他过时浏览器的支持,如Edge Legacy、iOS和Firefox的旧版本,以及原生Android浏览器。如果您需要支持这些浏览器,可以使用jQuery 3.x。

移除已废弃的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的最新版本兼容。

其他变化

  • 移除特定方法:jQuery 4.0移除了一些设计用于内部使用的数组方法,包括push、sort和splice。开发者应更新他们的代码,以使用标准数组方法代替。
  • 事件顺序变化:jQuery 4.0中focusin和focusout事件的处理顺序发生了变化,以符合最新的W3C规范。这可能会影响依赖旧顺序的插件或代码。新的顺序是:blur -> focusout -> focus -> focusin。
  • jQuery.ajax添加FormData支持:jQuery.ajax现在可以自动处理二进制数据,包括FormData,无需额外配置。
  • 移除JSONP自动转换:jQuery 4.0不再自动将dataType:“json”和提供的回调函数转换为JSONP请求。现在推荐使用CORS进行跨域交互,因为它在jQuery 4.0支持的所有浏览器中都有效。这有助于避免在不知情的情况下执行来自远程域的代码。

jQuery源代码迁移到ES模块

jQuery主分支的源代码已从AMD迁移到ES模块。尽管jQuery的源代码一直在npm和GitHub上与发布版本一起提供,但之前没有使用RequireJS无法直接作为模块导入。现在,jQuery使用Rollup进行打包,所有测试分别在ES模块上运行。

受信任类型和CSP支持

jQuery 4.0现在支持受信任类型,允许使用包装在TrustedHTML中的HTML作为jQuery操作方法的输入,同时遵守内容安全策略的require-trusted-types-for指令。

此外,为了避免CSP错误,jQuery 4.0已将大多数异步脚本请求从使用XHR改为使用