今年8月26日,jQuery终于更新了一个3.6.1维护版。距离上一个版本发布已经一年零五个月了。焦点和模糊问题以及一些难以捉摸的边缘情况,可能是历史原因,jQuery中与焦点相关的一切都很难改变,团队从未完全修复它,所以他们暂时保留这些,并将在未来解决,尤其是因为这些更改最终可能需要发布新的主要版本。维护版本是在不更改任何核心组件或添加新功能的情况下纠正安全漏洞或小错误的软件版本。它们通常以十分之一或百分之一的方式编号,以将它们与主要版本区分开来,并且软件工程师通常会在不牺牲编码质量或可靠性的情况下尽快完成此过程。下面是jQuery3.6.1的一些改进:InfrastructureImprovements团队在这个版本中做了很多工作来更新项目的一些测试和构建基础设施,包括将CI从TravisCI迁移到GitHubActions,运行在Node16而不是节点15,通过https加载他们的测试侦听器,并添加更多自定义构建的准确测试。不失去焦点尽管困难重重,但此版本中有一个与焦点相关的修复。https://github.com/jquery/jqu...即使在删除jQuery焦点处理程序之后,我们对焦点的特殊事件处理仍然附加,这会破坏任何后续的手动焦点触发器。例如,当:$elem.on("focus",function(){}).off("focus").trigger("focus");那么焦点将不会触发。跳过addClass(array)中的错误添加了对跳过传递给addClass或removeClass的数组中的任何错误值而不增加任何大小的支持。这使得代码像这样:elem.addClass(["a","","b"]);//添加`a`&`b`类。与自定义CSS属性值的规范一致自定义CSS属性值现在被修剪,以前类似于--prop:value;将保留值中的前导和尾随空格,返回“值”。附加带有HTML注释的脚本该团队发现正则表达式中存在一个问题,该问题在附加脚本时会从脚本中剥离HTML注释,最终会在某些边缘情况下删除部分可执行脚本。幸运的是,更多地依赖浏览器可能是解决方案,但团队仍然需要在3.x分支中删除IE的CDATA部分。这将在4.0中删除。jQuery.trim的性能改进尽管jQuery.trim已在主分支上被移除以支持原生String#trim(为下一个主要版本做准备),但该分支支持的某些浏览器(例如Android4.0)在3中不可用.x在分支上还是需要的。由于其正则表达式的结构,一些极端情况非常慢。现在已经改变了,速度的提高非常显着。https://github.com/jquery/jqu...项目瘦身有时你可能不需要ajax,或者你更喜欢独立选择请求库,使用jQuery进行CSS和class操作组合,Web动画应用。因此,除了包含ajax和效果模块的常规jQuery版本外,该团队还发布了一个不包含这些模块的“精简”版本。如今,jQuery的大小很少成为加载性能的问题,精简版比普通版小约6k(gzipped)。这些文件也可以作为npm包和CDN获得:https://code.jquery.com/jquery-3.6.1.slim.jshttps://code.jquery.com/jquery-3.6.1.slim.min。js继续使用JQ从jQueryCDN获取文件,或者直接链接:https://code.jquery.com/jquery-3.6.1.jshttps://code.jquery.com/jquery-3.6.1.min.js也可以从npm获取这个版本:npminstalljquery@3.6.1写在最后在单页应用流行,各种新框架层出不穷的时代,或许很少有人会去关注不再使用jQuery,甚至避免使用它。但它过去的成就仍然不可磨灭。jQuery致力于消除浏览器差异,简化操作DOM的方法,让早期的开发者可以轻松实现动画、修改CSS等各种操作。据说是JavaScript史上使用最广泛的一个库。曾经辉煌的JS框架,如今正在逐渐没落。是见证它的终结,还是看着它一步步重回大众视野?最后,我想引用下面几条关于jQuery3.6的评论之一作为结尾。大多数项目都在生产中运行。
