jQuery团队近日发布了4.0版本,首席开发者Timmy Willison称其为“近十年来首个重要版本”。该版本停止了对老旧Internet Explorer 10(IE10)浏览器的支持,并将代码升级为ECMAScript(ES)模块。与此同时,一些开发者认为,在为现代浏览器编写代码时,已不再需要这一库的支持。
jQuery是一个小型开源JavaScript库,它通过提供可在多种浏览器间统一工作的API,简化了常见的编程任务,即使不同浏览器之间存在不兼容问题。
虽然4.0版本包含一些重大变更,但Willison表示大多数用户只需“极少的改动”即可完成升级。部分在现代浏览器中已有原生替代方案的API已被移除。此外,该版本不再支持IE10、旧版Edge(基于Chromium之前的内核)、以及旧版的Firefox、Android和iOS系统。这些调整使jQuery的体积进一步减小,经gzip压缩后减少了3KB以上。同时,团队还提供了移除ajax和动画模块的精简版本,该版本又减少了约8KB。
过去,不同浏览器在处理用户界面元素的焦点(focus)和失焦(blur)事件顺序上存在差异。焦点事件包括 focus、focusin 和 focusout,与失焦事件组合后,事件触发顺序较为复杂。为确保跨浏览器行为一致,jQuery曾经覆盖了浏览器的原生实现。如今,所有现代浏览器均已遵循W3C规范定义的事件顺序,因此jQuery 4.0改为遵循浏览器的原生行为。这一变化可能会导致某些依赖旧版jQuery行为逻辑的代码出现意外结果。
jQuery 4.0还增加了对可信类型(Trusted Types) 的支持,以应对跨站脚本攻击(XSS)风险。攻击者可能通过设置如.innerHTML等不安全属性注入恶意代码。此前,即使开发者设置了强制使用可信类型的内容安全策略(CSP),某些jQuery API仍会违反该策略,而4.0版本修复了这一问题。
jQuery由John Resig于20年前创建,彼时浏览器兼容性问题普遍存在。编写可在IE、Firefox和Safari中正常运行的异步JavaScript代码是一件令人头疼的事。jQuery的出现解决了这些难题,并迅速流行起来。开发者们逐渐习惯于使用类似 $("#myspan") 的语法来选取DOM元素,而不再依赖原生JavaScript中较为冗长的 document.getElementById("myspan")。
因此,该库被广泛应用。根据w3techs的数据,在已知使用JavaScript库的网站中,约88%使用了jQuery,相当于所有网站的70.9%。
这意味着jQuery团队承担着“不破坏现有网络”的责任,尤其考虑到许多网站直接从jQuery的内容分发网络(CDN)加载该库。
不过,jQuery也面临着一些批评,甚至有开发者建议不再使用。首先是性能问题:虽然原生JavaScript通常更快,但实际差距可能并不明显。其次是旧版本留存率较高:w3techs估计,仍有19%的网站在使用已发布十年之久的旧版jQuery。第三,随着ECMAScript标准的演进和浏览器兼容性的提升,对jQuery的需求已有所下降。
一位用户在4.0发布后评论道:“15年前我们处处依赖它。但如果你现在要开发一个新的Web应用,我想不出还有使用它的必要。”
然而,观点并不统一。尽管原生JavaScript性能更优,但jQuery代码通常更加简洁,其API也依然友好易用。另一条评论则称jQuery是“唯一合理的JavaScript库”,并认为它仍将在未来许多年内持续存在于各类Web应用之中。
文章来源:https://blog.jquery.com/2026/01/17/jquery-4-0-0





