Heim  >  Artikel  >  Web-Frontend  >  jQuery veröffentlicht neue Version 3.6.1, sehen Sie sich die Verbesserungen an!

jQuery veröffentlicht neue Version 3.6.1, sehen Sie sich die Verbesserungen an!

青灯夜游
青灯夜游nach vorne
2022-09-06 19:45:043101Durchsuche

Nach mehr als einem Jahr hat jQuery wieder die neue Version 3.6.1 veröffentlicht. Nutzen Sie immer noch JQ? Werfen wir einen Blick auf einige Verbesserungen von jQuery 3.6.1. Ich hoffe, es wird Ihnen hilfreich sein!

jQuery veröffentlicht neue Version 3.6.1, sehen Sie sich die Verbesserungen an!

Letzte Woche (26.08.2022) hat jQuery gerade ein Jahr und fünf Monate seit der Veröffentlichung der letzten Version aktualisiert Erwägen Sie hauptsächlich die Behebung von Fokus- und Defokussierungsproblemen (Fokus und Unschärfe) sowie einiger schwer fassbarer Randfälle, die auf historische Probleme im Zusammenhang mit dem Fokus in focus & blur)的问题以及一些难以捉摸的边缘情况,可能是历史原因,jQuery 中与焦点有关的地方都很难改变,团队从未完全正确地修复,所以他们暂时保留这些内容,并将在未来解决,特别是因为这些更改最终可能需要发布一个新的主要版本。【相关教程推荐:jq教程

所谓维护版本是指在不更改任何核心组件或添加新功能的情况下纠正安全漏洞或小错误的软件版本。它们通常以十分之一或百分之一来编号,以区别于主要版本,一般来说,软件工程师会尽可能快地完成这个过程,并且不会牺牲编码质量或可靠性。

以下是 jQuery 3.6.1 的一些改进:

基础设施改进

在这个版本中团队做了很多工作来更新项目的一些测试和构建基础设施,包括将 CITravis CI 迁移到 GitHub Actions,在 Node 16 而不是 Node 15 上进行测试,通过 https 加载他们的测试监听器,以及添加更多自定义构建的准确测试。

不失去焦点

尽管困难,此版本中仍有一个与焦点相关的修复。

即使在移除了 jQuery 焦点处理程序之后,我们对焦点的特殊事件处理仍然保持连接,这破坏了任何后续的手动焦点触发器。例如当:

$elem.on("focus", function() {}).off("focus").trigger("focus");

focus 不会触发。

在 addClass(array) 中跳过错误

在不增加任何大小的情况下,添加了对跳过传递给addClass or的数组中的任何错误值的支持removeClass

这使得代码如下:

elem.addClass( [ "a", "", "b" ] ); // 添加`a`&`b`类。复制代码

与自定义 CSS 属性值的规范保持一致

现在为自定义 CSS 属性值 trimmed,以前类似的东西--prop: value ;会保留值中的前导和尾随空格,返回“value”。

附加带有 HTML 注释的脚本

团队在正则表达式中发现了一个问题,即在附加脚本时从脚本中去除 HTML 注释,最终在某些边缘情况下删除了部分可执行脚本。幸运的是更多地依赖浏览器可以成为解决问题的方法,但团队仍然需要在 3.x 分支中为 IE 去除 CDATA 部分。这将在 4.0 中删除。

jQuery.trim 的性能提升

虽然jQuery.trim已在主分支上删除以支持原生的String#trim(准备下一个主要版本上线),但对于分支支持的某些浏览器(例如 Android 4.0)在 3.x 分支上仍然需要它。由于其正则表达式的结构,某些极端情况非常慢。目前这种情况已经发生了变化,并且速度提升非常显着

项目瘦身

有时你可能不需要 ajax,或者你更喜欢自主选择请求库,而将 jQuery 用于 CSSjQuery Places zurückzuführen sein können Es ist schwierig, sie zu ändern, und das Team hat die Lösung nie ganz richtig hinbekommen. Deshalb behalten sie diese vorerst bei und werden sie in Zukunft beheben, insbesondere da diese Änderungen möglicherweise irgendwann eine neue Hauptversion erfordern. [Verwandte Tutorial-Empfehlungen: jq-Tutorial]

Die sogenannte Wartungsversion bezieht sich auf eine Softwareversion, die Sicherheitslücken oder kleinere Fehler behebt, ohne Kernkomponenten zu ändern oder neue Funktionen hinzuzufügen. Sie werden in der Regel in Zehntel- oder Hundertstelschritten nummeriert, um sie von Hauptversionen zu unterscheiden. Im Allgemeinen schließen Softwareentwickler diesen Prozess so schnell wie möglich ab, ohne dass die Codierungsqualität oder -zuverlässigkeit darunter leidet.
Hier sind einige Verbesserungen in jQuery 3.6.1: 🎜🎜🎜Infrastrukturverbesserungen🎜🎜🎜Das Team hat in dieser Version viel getan Arbeiten Sie daran, einen Teil der Test- und Build-Infrastruktur des Projekts zu aktualisieren, einschließlich der Migration von 🎜CI🎜 von 🎜Travis CI🎜 zu 🎜GitHub Actions🎜, dem Testen auf 🎜Node 16🎜 anstelle von Node 15 und dem Laden ihrer Tests über 🎜https🎜-Listener sowie das Hinzufügen genauerer Tests für benutzerdefinierte Builds. 🎜🎜🎜Verlieren Sie nicht den Fokus🎜🎜🎜Trotz der Schwierigkeit gibt es immer noch Ein fokusbezogener Fix. 🎜🎜🎜 Auch nach dem Entfernen des jQuery-Fokus-Handlers blieb unsere spezielle Ereignisbehandlung für den Fokus verbunden, wodurch alle nachfolgenden manuellen Fokus-Trigger unterbrochen wurden. Zum Beispiel, wenn: 🎜rrreee🎜focus nicht ausgelöst wird. 🎜🎜🎜Fehler in addClass(array) überspringen🎜🎜🎜 Ohne Vergrößerung, Unterstützung 🎜 für das Überspringen fehlerhafter Werte in einem Array hinzugefügt, das an addClass oder removeClass übergeben wird. 🎜🎜Dadurch ergibt sich der Code wie folgt: 🎜rrreee🎜🎜Konsistent mit der Spezifikation für benutzerdefinierte CSS-Eigenschaftswerte🎜🎜🎜Jetzt für benutzerdefinierte CSS-Eigenschaftswertetrimmed🎜, etwas Ähnliches vor --prop: value ; Führend und nachgestellte Leerzeichen im Wert bleiben erhalten und geben „value“ zurück. 🎜🎜🎜Skript mit HTML-Kommentaren anhängen 🎜🎜🎜Das Team entdeckte ein Problem mit regulären Ausdrücken, die beim Anhängen von HTML-Kommentaren aus dem Skript entfernt und schließlich entfernt wurden Teile des ausführbaren Skripts in einigen Randfällen. Glücklicherweise kann Mehr auf den Browser verlassen 🎜 der Lösungsansatz sein Problem, aber das Team muss immer noch den CDATA-Teil für 🎜IE🎜 im 3.x-Zweig entfernen. Dies wird in 🎜4.0🎜 entfernt. 🎜🎜🎜Leistungsverbesserungen für jQuery.trim🎜🎜🎜Obwohl jQuery.trim im Hauptzweig zugunsten von entfernt wurde nativer String#trim (in Vorbereitung auf die nächste Hauptversion), ist aber im 3.x-Zweig für einige vom Zweig unterstützte Browser (z. B. Android 4.0) weiterhin erforderlich. Aufgrund der regulären Ausdrucksstruktur sind einige Randfälle sehr langsam. Dies hat sich nun geändert und die Geschwindigkeitsverbesserungen sind Bemerkenswert 🎜. 🎜🎜🎜Projektverschlankung🎜🎜🎜Manchmal benötigen Sie 🎜ajax🎜 vielleicht nicht, oder Sie wählen lieber Ihre eigene Anforderungsbibliothek und verwenden 🎜jQuery🎜 CSS wird mit Klassenoperationen kombiniert und in Webanimationsanwendungen verwendet. Daher hat das Team zusätzlich zur regulären 🎜jQuery🎜-Version, die die 🎜ajax🎜- und Effektmodule enthält, auch eine „🎜slim🎜“-Version veröffentlicht, die diese Module nicht enthält. 🎜

Heute ist die Größe von jQuery selten ein Problem der Ladeleistung, da die Lite-Version etwa 6k (gzipped) kleiner ist als die reguläre Version. Diese Dateien sind auch auf npm-Paketen und CDNs verfügbar:

code.jquery.com/jquery-3.6.…

code.jquery.com/jquery-3.6.…

Diese Updates sind als npm und verfügbar Aktuelle Version verfügbar auf Bower. Informationen zu allen Möglichkeiten, jQuery zu erhalten, finden Sie unter jquery.com/download/.

Verwenden Sie weiterhin JQ

Sie können die Dateien vom jQuery CDN erhalten oder direkt darauf verlinken:

code.jquery.com/jquery-3.6.…

code.jquery .com/ jquery-3.6.…

Sie können diese Version auch von npm erhalten:

npm install jquery@3.6.1npm install jquery@3.6.1

写在最后

在单页面应用大行其道,各种新鲜框架层出不穷的时代,或许已经很少有人会再关注 jQuery,甚至唯恐避之不及,但它曾经的功绩仍不可磨灭,jQuery 致力于消除浏览器差异,简化了操作 DOM 的方法,让早期的开发者们能轻松实现动画、修改 CSS

Am Ende geschrieben

ist sehr In einer Zeit, in der nach und nach neue Frameworks auftauchen, schenken jQuery

vielleicht nur noch wenige Menschen Aufmerksamkeit oder meiden es, aber die bisherigen Errungenschaften sind immer noch unauslöschlich Beseitigung von Browserunterschieden und Vereinfachung von Vorgängen
DOM

Die Methode ermöglicht frühen Entwicklern die einfache Implementierung von Animationen, die Änderung von CSS und andere Vorgänge. Es ist keine Übertreibung zu sagen, dass es sich um die am weitesten verbreitete Bibliothek in der Geschichte handelt von

JavaScript
.

Das einst glorreiche JS-Framework verschwindet nun allmählich, oder werden wir zusehen, wie es sich Schritt für Schritt verbessert und dann in die Öffentlichkeit zurückkehrt? Abschließend möchte ich mit einem Satz aus den wenigen Kommentaren unten schließen, als jQuery 3.6.0

veröffentlicht wurde: 🎜🎜🎜Vielen Dank für all die harte Arbeit, die Sie leisten, um jQuery zu warten und zu verbessern, denn viele von uns Menschen Verlassen Sie sich bei den meisten Projekten, die in der Produktion laufen, immer noch auf jQuery. 🎜🎜🎜【Empfohlenes Lernen: 🎜jQuery-Video-Tutorial🎜, 🎜Web-Frontend-Video🎜】🎜

Das obige ist der detaillierte Inhalt vonjQuery veröffentlicht neue Version 3.6.1, sehen Sie sich die Verbesserungen an!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen