Warum verwendet WordPress veraltete jQuery v1.12.4?
-
-
Die Antwortist sehreinfach: WPmöchte die Abwärtskompatibilitätmit älteren Browsernbeibehalten.WP hatgenug Benutzer,dienoch IE8-Unterstützungbenötigen,sodass sie diesenochnicht löschen können.The answer is very simple: WP wants to maintain backward compatibility with older browsers. WP has enough users that still need IE8 support that they can't drop it yet.
- 1
- 2016-11-01
- Simba
-
3 Antworten
- Stimmen
-
- 2016-10-31
Esgibt viele Themen und Plugins,diejQuery verwenden,wiees vom WP-Kerngeladen wird. Jedes Mal,wennjQuery aktualisiert wird,besteht die Gefahr,dass ältere Themen und Pluginsbeschädigt werden (da viele vonihnennoch verwendet,abernichtmehr aktualisiert werden). Aus diesem Grund wirdin Ihrem Quellcode auch
jquery-migrate.js
angezeigt. Esistein Skript,das alte Funktionen abfängt,die von Plugins/Themes verwendet werden,und sicherstellt,dass siein neueren Versionen vonjQuery weiterhinfunktionieren.Wenn Sie zurjQuery
3.x
-Familie wechseln,werden viele Plugins/Themesbeschädigt,daes sich um Esistnichtmöglich,ein Migrationsskript für alles zu haben,was veraltetist . Aus diesem Grund wurdennochneue Versionen der Familie1.x
entwickelt,während die Familien2.x
und3.x
bereitsexistierten. Es wird keinenneuen1.x und nach2.x
Versionen1.12
und2.2
,mit Ausnahme von (Sicherheits-) Patches. ObwohljQuery1.12
derzeitnicht veraltetist,wirdesin naher Zukunft sein.WordPressist alsoin der Klemme. Wennesnicht aufeine höherejQuery-Version aktualisiert wird,kannesnichtmit neuen Möglichkeiten Schritt halten. Wennjedochein Upgrade durchgeführt wird,werden ältere Websitesbeschädigt. Das wahrscheinlichste Ergebnisist,dass WPeinige Jahre warten wird,sodass ältere Themes/Plugins ohnehin auslaufen und dann springe zur
3.x
-Familie .Erklärung
Das oben Gesagte könnte darauf hindeuten,dasseine Migration von
1.x
-Versionen zu3.x
nichtmöglichist. Dasistnicht wahr. Esistnurein bisschen kompliziert. Der Trickbesteht darin,zuerstein Upgrade auf1.12
durchzuführen,das Ergebnismit dem älteren Migrationsskript zu debuggen und dann das Migrationsskript3.0
hinzuzufügen,dasmit1.12 . Detaillierte Anweisungen hier .
Sicherheitsupdate
Entwickler werdenfeststellen,dass Google Dev Tools/Lighthouse WordPress-Websites aufgrund des Vorhandenseins dieser älterenjQuery-Version als anfälligmeldet - so scheintesjedenfalls. Tatsächlich überprüft Lighthouse lediglich,ob diese Bibliothek Schwachstellen aufweist,diein den Snyk-Schwachstellen aufgeführt sind Datenbank . Wenn Sie diesim Detail überprüfen,werden Siefeststellen,dass Version 1.12.4 sauberist. Angesichts der weit verbreiteten Verwendung von 1.12.4 können Sie sich darauf verlassen,dass schwerwiegende Sicherheitslücken schnellbehoben werden.
There are many themes and plugins using jQuery as loaded by WP core. Every time jQuery is updated, there is a risk of older themes and plugins breaking (because lots of them are still used but no longer updated). That's why you also see
jquery-migrate.js
in your source code. It's a script that catches old functions used by plugins/themes and makes sure that they still work in newer versions of jQuery.Moving to the jQuery
3.x
family would cause many plugins/themes to break, because it's not possible to have a migration script for everything that is deprecated. This is why new versions of the1.x
family were still being developed while the2.x
and3.x
families already existed. There will be no new1.x
and2.x
versions after1.12
and2.2
, except for (security) patches. Though jQuery1.12
is not outdated right now, it will be in the near future.So, WordPress is in a bind. If it does not upgrade to a higher jQuery version, it cannot keep up with new possibilities. However, if it does upgrade, older sites will break. The most likely outcome is that WP will wait for a couple of years, so older themes/plugins will be phased out anyway, and then jump to the
3.x
family.Clarification
The above might suggest that migrating from
1.x
versions to3.x
is not actually possible. That's not true. It's just a bit complicated. The trick is to first upgrade to1.12
, debug the result using the older migration script and then add the3.0
migration script, which does work with1.12
. Detailed instructions here.Security update
Developers will notice that Google Dev Tools / Lighthouse reports WordPress sites as vulnerable due to the presence of this older jQuery version - or so it seems. In effect, all Lighthouse does is check whether this library has vulnerabilities mentioned in the Snyk Vulnerabilities Database. If you check this in detail you will find that version 1.12.4 is clean. Given the wide spread use of 1.12.4 you can count on any serious vulnerability being dealt with swiftly.
-
Nur umein paar zusätzliche Informationen hinzuzufügen: SowohljQuery 1.x als auch 2.x wurdenbis Mai dieses Jahres aktiv aktualisiert. Der Unterschiedbestand lediglich darin,dass 1.xmit IE8 kompatibel war und 2.x die Patchesentfernteund Korrekturenfür diesefehlerhaften Browser.3.xist dieneue Version undgehtnocheinen Schritt weiter,indem verschiedene Schnittstellen sogeändert werden,dass siemit den "offiziellen" HTML5/JavaScript-Schnittstellen kompatibel sind (dh wenn die Dinge auf diegleiche Weiseerledigt wurden,wurden die Dinge zum Standard *nachdem *jQueryes hatteeigene Versionen,die das Gleichetun).Just to add a little bit of extra info - both jQuery 1.x and 2.x were actively being updated until May this year, the difference between them was simply that 1.x had compatibility for IE8, and 2.x removed the patches and fixes for those buggy browsers. 3.x is the new version, and takes things one step further by changing various interfaces to be compatible with the "official" HTML5 / JavaScript interfaces (ie, where it did things the same way, things became standard *after* jQuery had it's own versions doing the same sort of thing).
- 4
- 2016-11-01
- Rycochet
-
- 2016-10-31
- Esist nicht veraltet
- Der Wechsel zu 2.x oder 3.xist zufrüh. Die Benutzer verwendenimmernoch IE8,dasnur von 1.x unterstützt wird
- It's not outdated
- Moving to 2.x or 3.x is too early, people still use IE8 which is only supported on 1.x
-
@LightnessRacesinOrbit Einverstanden,abermeiner Erfahrungnachist diese Fragein Bezug auf das durchschnittliche Kalibereines WP-Entwicklersgenau richtig.@LightnessRacesinOrbit Agreed but from my experience this question is spot on in regards to the average caliber of a WP developer.
- 2
- 2016-10-31
- MonkeyZeus
-
Einfach ausgedrückt: v1.12.4istnicht veraltet :)Simply put: v1.12.4 is not outdated :)
- 0
- 2016-11-01
- Tara
-
Updatefür Januar 2018: Die Idee,dasses veraltetist,obwohlesimmernoch die Standardeinstellungin WordPressist,ist kein "Unsinn"mehr.XSS-Schwachstellen wurdenmit 1.12.4identifiziert und der 1.x-Zweigerhält keine Updatesmehr.Dieempfohlene Lösungbesteht darin,aufjquery 3.x https://snyk.io/test/npm/jquery/1.12.4?severity=high&severity=medium&severity=low zu aktualisierenUpdate for Jan 2018: The idea that it is outdated despite still being the default included with WordPress is no longer "nonsense". XSS vulnerabilities have been identified with 1.12.4 and the 1.x branch is no longer receiving updates. The recommended remediation is to upgrade to jquery 3.x https://snyk.io/test/npm/jquery/1.12.4?severity=high&severity=medium&severity=low
- 7
- 2018-01-17
- squarecandy
-
Auchbei der Verwendung von Lighthouseteilt Google Ihnenmit,dass Version 1.12.4bekannte Sicherheitslückenenthält,sodass Sie diesenicht verwenden sollten.Also when using Lighthouse Google is telling you that version 1.12.4 contains known security vulnerabilities so you shouldn't be using it.
- 2
- 2018-06-26
- phpheini
-
Die Unterstützung von IE8,die Microsoftnichteinmaltut,ist zu diesem Zeitpunkt unverantwortlich.Es hält Leutemit einem veralteten Browsermit Sicherheitsproblemen.Wennjemand IE8 verwendet,musser aufhören.Supporting IE8, which Microsoft doesn't even do is at this point irresponsible. It keeps people using an outdated browser with security issues. If someone is using IE8 they need to stop.
- 4
- 2018-12-18
- David A. French
-
Diese Antwort undeinige Kommentare sind veraltet.JQuery 1.x und 2.xerhalten laut Homepagejquery.com keine PatchesmehrThis answer and some of the comments are out of date. JQuery 1.x and 2.x are no longer receiving patches according to the home page jquery.com
- 0
- 2019-05-29
- Flimm
-
@ DavidA.Französisch Ich stimme dem Antrag zu.Entwicklermüssen aufhören,Benutzer aufzunehmen,die sich weigern,ein Update durchzuführen.Esgabeine Zeit,in derjedernach vollständiger Kompatibilitätmit allenbekanntenmöglichen Browsern strebte und diese schlechten Gewohnheiten weiterhinbestehen.Wenn die Interwebsnichtmehrfür sie arbeiten,werden diese Personenmöglicherweise aufeinen modernen Browser aktualisiert.Zu diesem Zeitpunkt sollte sich das Internetfür Sienicht verbiegen,wenn Sienicht auf derneuesten Versioneines der wichtigsten Browser sind (IE & AOL zählen überhauptnicht).Ehrlich IE8?Sie sind wie weniger als 1% des Web,[in AOLgesprochen] "Auf Wiedersehen"@DavidA.French I second the motion. Devs need to STOP accommodating users who refuse to update. There was a time when everyone aspired to have total compatibility across every known possible browser, and those bad habits continue to persist. Maybe when the interwebs stop working for them, those people will update to a modern browser. At this point if you're not on the latest version of one of the major browsers (IE & AOL don't count at all) the internet shouldn't bend for you. Honestly IE8? You're like less than 1% of the web, [spoken in AOL] "Goodbye"
- 1
- 2019-08-29
- KFish
-
Ich denke,die Antwort solltejetztgelöscht werden.Sie können IE 11 sogar unter Windows 7 verwenden,sodass kein Grundmehrbesteht,IE 8 zu unterstützen.I think the answer should be deleted by now. You can even use IE 11 on Windows 7, so no reason to support IE 8 anymore.
- 0
- 2019-09-05
- Adrian
-
- 2016-11-02
Umnoch korrekter zu sein.
Der 1.x-Zweig unterstützt IE 6/7/8 und der 2.x-Zweignicht.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/
To be even more correct.
The 1.x branch includes support for IE 6/7/8 and the 2.x branch does not.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/
Beim Überprüfen des Quellcodes habeichfestgestellt,dass WordPressjQuery v1.12.4 verwendet.Warum verwendet WordPress diese veraltete Version vonjQuery?