Проверяя исходный код, я увидел, что WordPress использует jQuery v1.12.4. Почему WordPress использует эту устаревшую версию jQuery?
25
Проверяя исходный код, я увидел, что WordPress использует jQuery v1.12.4. Почему WordPress использует эту устаревшую версию jQuery?
Ответы:
Существует множество тем и плагинов, использующих jQuery, загруженных ядром WP. Каждый раз, когда jQuery обновляется, существует риск поломки старых тем и плагинов (поскольку многие из них все еще используются, но больше не обновляются). Вот почему вы также видите
jquery-migrate.js
в своем исходном коде. Это скрипт, который перехватывает старые функции, используемые плагинами / темами, и обеспечивает их работу в новых версиях jQuery.Переход к семейству jQuery
3.x
может привести к сбою многих плагинов / тем, поскольку невозможно создать сценарий миграции для всего, что устарело. Именно поэтому новые версии1.x
семейства были еще разработаны в то время как2.x
и3.x
семья , уже существовали. Не будет новых1.x
и2.x
версий после1.12
и2.2
, за исключением (безопасности) патчей. Хотя jQuery1.12
не устарел сейчас, это будет в ближайшем будущем.Итак, WordPress в безвыходном положении. Если он не обновляется до более высокой версии jQuery, он не может идти в ногу с новыми возможностями. Однако, если он обновится, старые сайты сломаются. Наиболее вероятным результатом является то, что WP будет ждать пару лет, поэтому старые темы / плагины будут в любом случае исключены, а затем перейдут к
3.x
семейству .осветление
Вышесказанное может указывать на то, что переход с
1.x
версий на3.x
фактически невозможен. Это не правда. Это немного сложно. Хитрость заключается в том, чтобы сначала выполнить обновление1.12
, отладить результат с помощью более старого сценария миграции, а затем добавить3.0
сценарий миграции, с которым можно работать1.12
. Подробные инструкции здесь .Обновление безопасности
Разработчики заметят, что Google Dev Tools / Lighthouse сообщает о том, что сайты WordPress уязвимы из-за наличия этой более старой версии jQuery - или так кажется. По сути, все, что делает Lighthouse, это проверяет, есть ли в этой библиотеке уязвимости, упомянутые в базе данных уязвимостей Snyk . Если вы проверите это подробно, вы обнаружите, что версия 1.12.4 чистая. Учитывая широкое использование 1.12.4, вы можете рассчитывать на любую серьезную уязвимость, с которой быстро справляются.
источник
источник
Чтобы быть еще более правильным.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/
источник