Was ist der Unterschied zwischen jQuery Version 1, Version 2 und Version 3? [geschlossen]

113

Ich bin kürzlich auf ein Seitendesign webchart.jsmit jQuery Version 2 gestoßen , und ich verwende jQuery Version 1.

Damit der Code funktioniert, muss jetzt die neueste Version verwendet werden. Dann habe ich die Unterstützung für den jQuery-Kern überprüft und sie haben jQuery 3 veröffentlicht.

Ich denke jetzt über die Verwendung von Version 3 nach, suche jedoch nach Kompatibilitätsproblemen für Version 3, die möglicherweise nur auf bestimmten Geräten verwendet werden können.

Null8
quelle

Antworten:

247

Hauptversionen

Version 1.0: Erste stabile Version.
Version 2.0: Dropped IE 6-8 Unterstützung für Leistungsverbesserungen und eine Verringerung der Dateigröße
Version 3.0: Promises / A + Unterstützung für Deferreds, $.ajaxund $.when, .data()HTML5-kompatibel

Alle Versionen

+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| Version Number |    Release Date    |       Latest Update        | Size Prod (KB) |                                   Additional Notes                                    |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| 1.0            | August 26, 2006    |                            |                | First stable release                                                                  |
| 1.1            | January 14, 2007   |                            |                |                                                                                       |
| 1.2            | September 10, 2007 | 1.2.6                      | 54             |                                                                                       |
| 1.3            | January 14, 2009   | 1.3.2                      | 55.9           | Sizzle Selector Engine introduced into core                                           |
| 1.4            | January 14, 2010   | 1.4.4                      | 76             |                                                                                       |
| 1.5            | January 31, 2011   | 1.5.2                      | 83             | Deferred callback management, ajax module rewrite                                     |
| 1.6            | May 3, 2011        | 1.6.4                      | 89             | Significant performance improvements to the attr() and val() functions                |
| 1.7            | November 3, 2011   | 1.7.2 (March 21, 2012)     | 92             | New Event APIs: .on() and .off(), while the old APIs are still supported.             |
| 1.8            | August 9, 2012     | 1.8.3 (November 13, 2012)  | 91.4           | Sizzle Selector Engine rewritten, improved animations and $(html, props) flexibility. |
| 1.9            | January 15, 2013   | 1.9.1 (February 4, 2013)   | 90             | Removal of deprecated interfaces and code cleanup                                     |
| 1.10           | May 24, 2013       | 1.10.2 (July 3, 2013)      | 91             | Incorporated bug fixes and differences reported from both the 1.9 and 2.0 beta cycles |
| 1.11           | January 24, 2014   | 1.11.3 (April 28, 2015)    | 95.9           |                                                                                       |
| 1.12           | January 8, 2016    | 1.12.4 (May 20, 2016)      | 95             |                                                                                       |
| 2.0            | April 18, 2013     | 2.0.3 (July 3, 2013)       | 81.1           | Dropped IE 68 support for performance improvements and reduction in filesize         |
| 2.1            | January 24, 2014   | 2.1.4 (April 28, 2015)     | 82.4           |                                                                                       |
| 2.2            | January 8, 2016    | 2.2.4 (May 20, 2016)       | 85.6           |                                                                                       |
| 3.0            | June 9, 2016       | 3.0.0 (June 9, 2016)       | 86.3           | Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible        |
| 3.1            | July 7, 2016       | 3.1.1 (September 23, 2016) | 86.3           | jQuery.readyException added, ready handler errors are now not silenced                |
| 3.2            | March 16, 2017     | 3.2.1 (March 20, 2017)     | 84.6           | Hotfixes for regressions that were introduced in the 3.2.0                            |
| 3.3            | January 19, 2018   | 3.3.1 (January 20, 2018)   | 84.8           | Deprecation of old function calls, functions that accept classes now support them     |
|                |                    |                            |                | defined in an array                                                                   |
| 3.4            | April 10, 2019     | 3.4.1 (May 1, 2019)        | 86.1           | Performance improvements, nonce and nomodule support, fixes for radio elements, a     |
|                |                    |                            |                | minor security fix                                                                    |
| 3.5            | April 10, 2020     | 3.5.1 (May 4, 2020)        | 87.4           | Security fixes, .even() & .odd() methods, jQuery.trim deprecated                      |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+

Referenz: https://en.wikipedia.org/wiki/JQuery#Release_history

Detaillierte Erklärung zu den Hauptversionen

Version 1.0 war die erste stabile Version von jQuery. Diese Version unterstützt ältere Webbrowser, die von ihren jeweiligen Entwicklern nicht mehr unterstützt werden. Wenn Sie eine große Anzahl von Besuchern mit älteren Webbrowsern erwarten, ist dies definitiv die richtige Version.

In Version 2.0 wurde die Unterstützung für Internet Explorer 6-8 eingestellt, um die Gesamtleistung von jQuery zu steigern und die Dateigröße der Bibliothek zu verringern. Mit einfachen Worten: Version 2.0 ist in der Dateigröße schneller und kleiner als Version 1.0, unterstützt jedoch ältere Webbrowser nicht mehr. Da Microsoft die Unterstützung für Windows XP eingestellt hat, kann davon ausgegangen werden, dass Ihre Besucher einen mit Version 2.0 kompatiblen Browser verwenden, es sei denn, Sie wissen zuvor, dass dies nicht der Fall ist (siehe Version 1.0).

Mit der Version 3.0 werden beide Versionen 1.11.1 und 2.1.1 auf jQuery Compat 3.0 und jQuery 3.0 aktualisiert. jQuery Compat 3.0 unterstützt weiterhin ältere Browser wie Internet Explorer 8, während die reguläre Version 3.0 nur immergrüne Browser unterstützt (die aktuelle und frühere Version eines bestimmten Browsers).

Mit der Veröffentlichung von Version 3.0 gibt es keinen Grund, sich an Version 1.0 oder 2.0 zu halten. Einige Anmerkungen aus dem offiziellen jQuery-Blog:

  • Wenn Sie Unterstützung für die unterschiedlichsten Browser benötigen, einschließlich IE8, Opera 12, Safari 5 und dergleichen, verwenden Sie das Paket jQuery-Compat 3.0.0. Wir empfehlen diese Version für die meisten Websites, da sie die beste Kompatibilität für alle Website-Besucher bietet.
  • Wenn Ihre Website nur für immergrüne Browser der Spitzenklasse erstellt wurde oder eine HTML-basierte App in einer Webansicht (z. B. PhoneGap oder Cordova) ist, in der Sie wissen, welche Browser-Engines verwendet werden, wählen Sie das Paket jQuery 3.0.0 .
  • Sofern wir nichts anderes bekannt geben, enthalten beide Pakete dieselben öffentlichen APIs in entsprechend nummerierten Haupt- und Nebenversionen. Dies sollte es Entwicklern erleichtern, zwischen beiden zu wechseln und maximal mit jQuery-Plugins von Drittanbietern kompatibel zu sein.

Referenz: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/

Eiswürfel
quelle
6
Hinweis für ASP.NET 4.0-Benutzer: jQuery 3.x bricht das Postback ab. jquery.com/upgrade-guide/3.0/…
Jared Thirsk
2
Ist diese Antwort wirklich richtig? Soweit ich erfahren habe, ist jQuery Compat 3.0 nicht einmal in mehr als einer Alpha-Version verfügbar.
HischT
2
@HischT Referenzen werden mit der Antwort versehen. Der Teil, über den Sie sprechen, wurde sogar aus jQuerys eigenem Blog-Beitrag darüber kopiert. Ich weiß nicht, wie genau Sie es haben wollen, aber ich kann versichern, dass es nicht besser wird, als die Quelle als Referenz zu haben. Schauen Sie sich auch das Datum dieser Antwort an. Das war vor mehr als 2 Jahren. Ich gebe mein Bestes, um dies mit relevanten Informationen zu Neuerscheinungen auf dem neuesten Stand zu halten, aber das war's auch schon. Wenn Sie der Meinung sind, dass Verbesserungen vorgenommen werden können, bearbeiten Sie die Antwort und lassen Sie sie von mir oder der Community überprüfen.
Icecub
2
@icecub Bitte beachten Sie, dass mein Kommentar als Frage und nicht als wahre Tatsache formuliert wurde, da ich mir nicht 100% sicher bin. Ich habe gerade versucht, Informationen über jQuery Compat 3 herunterzuladen oder sogar zu finden, und kann nicht mehr Informationen finden als den Blog-Beitrag, auf den Sie sich beziehen, und eine zusätzliche Alpha-Version davon. Mir scheint, sie haben jQuery Compat 3 kurz vor dem Start über Bord geworfen. Wenn mir jemand das Gegenteil beweisen kann, bin ich sehr glücklich, da ich gerne jQuery Compat 3 in meinem Projekt verwenden würde.
HischT
6
Jquery-kompatibel wurde vor der Veröffentlichung Anfang 2016 abgebrochen, nachdem MS die Unterstützung für IE8-10 eingestellt hatte. blog.jquery.com/2016/01/14/jquery-3-0-beta-released
Dan spielt am