Чому WordPress використовує застарілий jQuery v1.12.4?


25

Перевіряючи вихідний код, я побачив, що WordPress використовує jQuery v1.12.4. Чому WordPress використовує цю застарілу версію jQuery?


1
Відповідь дуже проста: WP хоче підтримувати сумісність із старими браузерами. У WP достатньо користувачів, які все ще потребують підтримки IE8, щоб вони поки не могли її скасувати.
Сімба

Відповіді:


32

Існує багато тем і плагінів, що використовують jQuery як завантажений ядром WP. Щоразу, коли jQuery оновлюється, виникає ризик зламання старих тем і плагінів (адже багато з них все ще використовуються, але більше не оновлюються). Ось чому ви також бачите jquery-migrate.jsу своєму вихідному коді. Це сценарій, який захоплює старі функції, використовувані плагінами / темами, і гарантує, що вони все ще працюють у новіших версіях jQuery.

Перехід до 3.xсім’ї jQuery призведе до порушення багатьох плагінів / тем, оскільки неможливо мати сценарій міграції для всього, що застаріло. Саме тому нові версії 1.xсімейства були ще розроблені в той час як 2.xі 3.xсім'я , вже існували. Не буде нових 1.xта 2.xверсій після 1.12та 2.2, за винятком (безпеки) патчів. Хоча jQuery 1.12зараз не застарів, це буде найближчим часом.

Отже, WordPress перебуває у зв’язку. Якщо він не оновиться до вищої версії jQuery, він не може йти в ногу з новими можливостями. Однак якщо оновлення не відбудеться, старіші сайти зламаються. Найімовірніший результат - WP буде чекати пару років, тому старі теми / плагіни все одно припиняться, а потім переходять до 3.xсім’ї .

Уточнення

Сказане може припустити, що перехід від 1.xверсій до 3.xфактично неможливий. Що це не так. Це просто трохи складно. Трюк полягає в тому, щоб спочатку оновити 1.12, налагодити результат, використовуючи старіший сценарій міграції, а потім додати 3.0сценарій міграції, який працює 1.12. Детальні інструкції тут .

Оновлення безпеки

Розробники помітять, що Google Dev Tools / Lighthouse повідомляє сайти WordPress про вразливі через наявність цієї старішої версії jQuery - або приблизно так. Насправді, все, що Маяк, це перевірити, чи є в цій бібліотеці вразливості, згадані в базі даних уразливих даних Snyk . Якщо ви детально перевірили це, ви побачите, що версія 1.12.4 чиста. Враховуючи широке використання 1.12.4, ви можете розраховувати на будь-яку серйозну вразливість, з якою можна швидко впоратися.


4
Для того, щоб додати трохи додаткової інформації - і jQuery 1.x, і 2.x активно оновлювалися до травня цього року, різниця між ними полягала в тому, що 1.x мав сумісність з IE8, а 2.x видалив патчі і виправлення цих помилкових браузерів. 3.x є новою версією, і робить це на крок далі, змінюючи різні інтерфейси на сумісність з "офіційними" інтерфейсами HTML5 / JavaScript (тобто там, де це робилося так само, речі стали стандартними після того, як jQuery мав власні версії робити те саме).
Рикочет

23
  • Це не застаріло
  • Переходити до 2.x або 3.x зарано, люди все ще використовують IE8, який підтримується лише на 1.x

2
@LightnessRacesinOrbit Погодився, але, з мого досвіду, це питання є місцем щодо середнього калібру розробника WP.
MonkeyZeus

7
Оновлення за січень 2018 року: ідея про те, що вона застаріла, незважаючи на те, що за замовчуванням входить WordPress, вже не є "дурницею". Уразливості XSS були ідентифіковані з 1.12.4, і відділення 1.x більше не отримує оновлень. Рекомендоване виправлення - перейти на jquery 3.x snyk.io/test/npm/jquery/…
squarecandy

2
Крім того, коли ви використовуєте Lighthouse, Google повідомляє вам, що версія 1.12.4 містить відомі вразливості безпеки, тому вам не слід користуватися нею.
phpheini

4
Підтримка IE8, яку Microsoft навіть не робить, на даний момент є безвідповідальною. Він тримає людей, які використовують застарілий браузер із проблемами безпеки. Якщо хтось використовує IE8, їм потрібно зупинитись.
Девід А. Французький

1
@ DavidA.French Я другий рух. Розробники повинні зупиняти користувачів, які відмовляються від оновлення. Був час, коли всі прагнули до повної сумісності у всіх відомих можливих браузерах, і ці шкідливі звички продовжують зберігатися. Можливо, коли переплетення перестане працювати на них, ці люди оновлять сучасний браузер. На даний момент, якщо ви не користуєтеся останньою версією одного з основних браузерів (IE і AOL взагалі не рахуються), Інтернет не повинен зникати для вас. Чесно IE8? Вам подобається менше 1% Інтернету, [говорили в AOL] "До побачення"
KFish

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.