Выпуск JavaScript-библиотеки jQuery 4.0
После почти 10 лет с момента публикации ветки 3.0 и спустя 20 лет после основания проекта состоялся релиз JavaScript-библиотеки jQuery 4.0, используемой по данным организации W3Techs на 70.9% из 10 млн наиболее посещаемых сайтов в сети. Код jQuery распространяется под лицензией MIT.
Выпуск jQuery 4.0 содержит изменения, нарушающие обратную совместимость, но по заверению разработчиков большинство пользователей смогут безболезненно перейти на новую версию с минимальными изменениями в своём коде. Для упрощения миграции можно использовать специальный плагин. Нарушения обратной совместимости связаны с удалением устаревшего кода, удалением некоторых внутренних недокументированных параметров, прекращением поддержки некоторого излишне усложнённого поведения и прекращением поддержки API, ранее объявленных устаревшими. Удаление устаревших API и браузеров позволило сократить размер gzip-архива с библиотекой на 3 КБ (slim-версия теперь занимает 19.5 КБ, а полная — 27.5 КБ).
Среди изменений:
Прекращена поддержка браузера IE 10 и более старых версий (поддержка IE 11 сохранена, но будет удалена в Query 5.0), а также других старых браузеров таких как Edge Legacy, Android Browser и Firefox до ветки 115.
Встроена поддержка API Trusted Types, развиваемого для защиты от манипуляций с DOM, приводящих к межсайтовому скриптингу (DOM XSS), например, при некорректной обработке полученных от пользователя данных в блоках eval () или вставках ».innerHTML», что может привести к выполнению JavaScript-кода в контексте определённой страницы. В методы jQuery теперь может передаваться HTML-код в форме объектов TrustedHTML.
Код jQuery переведён на использование JavaScript-модулей ESM (ECMAScript Module) и может поставляться и импортироваться как модуль.
Удалены функции, ранее помеченные устаревшими: jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps и jQuery.fx.interval. Вместо данных функций рекомендуется использовать штатные JavaScript-функции Array.isArray (), JSON.parse (), String.prototype.trim () и Date.now ()
Удалены недокументированные внутренние методы объекта Array — push, sort и splice.
Порядок обработки событий смены фокуса приведён к соответствию спецификации W3C — blur, focusout, focus и focusin.
- Размер урезанного варианта (slim), не содержащий модули ajax и effects, сокращён до 19.5k за счёт прекращения поставки объектов Deferred (рекомендуется использовать штатные Promises) и Callbacks.
Источник: http://www.opennet.ru/opennews/art.shtml? num=64637
© OpenNet
