Перевіряючи вихідний код, я побачив, що WordPress використовує jQuery v1.12.4. Чому WordPress використовує цю застарілу версію jQuery?
Перевіряючи вихідний код, я побачив, що WordPress використовує jQuery v1.12.4. Чому WordPress використовує цю застарілу версію jQuery?
Відповіді:
Існує багато тем і плагінів, що використовують 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, ви можете розраховувати на будь-яку серйозну вразливість, з якою можна швидко впоратися.
Щоб бути ще правильніше.
Гілка 1.x включає підтримку IE 6/7/8, а гілка 2.x - ні.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/