WordPress neden eski jQuery v1.12.4 kullanıyor?


25

Kaynak kodu kontrol ederken, WordPress'in jQuery v1.12.4 kullandığını gördüm. WordPress neden bu eski jQuery sürümünü kullanıyor?


1
Cevap çok basit: WP eski tarayıcılarla geriye dönük uyumluluk sağlamak istiyor. WP'nin henüz IE8 desteğine ihtiyacı olan ve henüz bırakamadıkları konusunda yeterince kullanıcısı var.
Simba

Yanıtlar:


32

WP çekirdeği tarafından yüklenen jQuery kullanan birçok tema ve eklenti var. Her jQuery güncellendiğinde, eski temaların ve eklentilerin kırılma riski vardır (çünkü çoğu hala kullanılmaktadır ancak artık güncellenmemektedir). Bu yüzden jquery-migrate.jskaynak kodunuzda da görüyorsunuz . Eklentiler / temalar tarafından kullanılan eski işlevleri yakalayan ve hala yeni jQuery sürümlerinde çalıştıklarından emin olan bir senaryo.

JQuery 3.xailesine geçmek, birçok eklentinin / temanın bozulmasına neden olacaktır, çünkü kullanımdan kaldırılan her şey için bir geçiş komut dosyası kullanmak mümkün değildir . Yeni versiyonları Bu nedenle 1.xiken ailesi halen geliştirilmekte olan edildi 2.xve 3.xaileleri zaten vardı. (Güvenlik) yamaları haricinde ve sonrasında yeni 1.xve 2.xsürümler olmayacak . Her ne kadar jQuery şu anda modası geçmiş olmasa da, yakın bir gelecekte olacak.1.122.21.12

Yani, WordPress bir sıkıntıda. Daha yüksek bir jQuery sürümüne yükseltme yapmazsa, yeni olasılıklara ayak uyduramaz. Ancak, yükseltme yaparsa, eski siteler bozulur. En olası sonuç WP, böylece eski temalar / eklentileri zaten aşamalı olacak birkaç yıl bekleyin ve ardından olmasıdır atlamak 3.xailesi .

açıklama

Yukarıdakiler 1.xsürümlerden geçiş yapmanın 3.xgerçekten mümkün olmadığını söyleyebilir . Bu doğru değil. Sadece biraz karışık. İşin püf noktası ilk önce yükseltme yapmak 1.12, eski geçiş komut dosyasını kullanarak sonucu ayıklamak ve ardından çalışan 3.0geçiş komut dosyasını eklemektir 1.12. Ayrıntılı talimatlar burada .

Güvenlik güncellemesi

Geliştiriciler, Google Dev Araçları / Deniz Feneri'nin WordPress sitelerini bu eski jQuery sürümünün varlığı nedeniyle savunmasız olarak bildirdiğini fark edeceklerdir - veya öyle görünüyor. Aslında tüm Deniz Feneri, bu kütüphanenin Snyk Güvenlik Açıkları Veritabanında belirtilen güvenlik açıklarına sahip olup olmadığını kontrol etmektir . Bunu detaylı olarak kontrol ederseniz, 1.12.4 sürümünün temiz olduğunu göreceksiniz. 1.12.4'ün yaygın kullanımı göz önüne alındığında, hızlı bir şekilde ele alınan her türlü güvenlik açığına güvenebilirsiniz.


4
Sadece biraz ekstra bilgi eklemek için - hem jQuery 1.x hem de 2.x, bu yıl Mayıs ayına kadar aktif olarak güncelleniyordu, aralarındaki fark, 1.x'in IE8 için uyumluluğu vardı ve 2.x de yamaları kaldı. ve buggy tarayıcıları için düzeltmeler yapıldı. 3.x yeni versiyondur ve "resmi" HTML5 / JavaScript arayüzleriyle uyumlu olacak şekilde çeşitli arayüzleri değiştirerek işleri bir adım öteye götürür (yani, aynı şeyi yaptığı yerlerde, jQuery kendi sürümlerine sahip olduktan sonra işler standartlaştı.) aynı şeyi yapıyorum).
Rycochet

23
  • O ediyor modası geçmiş değil
  • 2.x veya 3.x'e geçmek çok erkendir, insanlar hala yalnızca 1.x'de desteklenen IE8’i kullanırlar

2
@LightnessRacesinOrbit Anlaşıldı, ancak deneyimlerime göre bu soru bir WP geliştiricisinin ortalama kalibrasyonu ile ilgili.
MonkeyZeus

7
Ocak 2018 Güncellemesi: WordPress'in içerdiği varsayılan olmasına rağmen eski olduğu fikri artık "saçma" değil. XSS açıkları 1.12.4 ile tespit edildi ve 1.x şubesi artık güncelleme almıyor. Önerilen düzeltme, jquery 3.x sürümüne
squarecandy

2
Ayrıca Lighthouse kullanırken Google, 1.12.4 sürümünün bilinen güvenlik açıklarını içerdiğini, bu nedenle kullanmamanız gerektiğini söylüyor.
phpheini

4
Microsoft'un bile yapmadığı IE8'i desteklemek bu noktada sorumsuzdur. İnsanları güvenlik sorunları olan eski bir tarayıcı kullanıyor. Birisi IE8 kullanıyorsa, durmaları gerekir.
David A. French

1
@ DavidA.French Ben hareketi ikinci. Devs, güncelleme yapmayı reddeden kullanıcıları barındıran DURDURMALIDIR. Herkesin bilinen her tarayıcıda tam bir uyumluluk arzusunda olduğu bir zaman vardı ve bu kötü alışkanlıklar devam etti. Belki interweb'ler onlar için çalışmayı bıraktığında, bu insanlar modern bir tarayıcıya güncellenir. Bu noktada, büyük tarayıcılardan birinin (IE ve AOL hiç sayılmaz) en son sürümünde değilseniz, internet sizin için bükülmemelidir. Dürüst olmak gerekirse IE8? Web’in% 1’inden az gibisiniz, [AOL
dilinde

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.