jQuery 4.0: Офіційний випуск нової версії бібліотеки

jQuery 4.0: Офіційний випуск нової версії бібліотеки

jQuery, широко використовувана бібліотека JavaScript для розробників веб-сайтів, офіційно випустила версію 4.0. Це перше велике оновлення проекту за майже десять років.

Зміни в підтримці браузерів у jQuery 4.0

Однією з кардинальних змін є вилучення підтримки для Internet Explorer 10 та старіших версій. Підтримка IE 11 залишається на даний момент, але лише частково, оскільки проект планує повністю відмовитися від неї у jQuery 5.0.

Крім того, підтримка була скасована для Edge Legacy, дуже старих версій Firefox, ранніх версій iOS та браузера Android. Проектам, що ще залежать від цих середовищ, рекомендується залишатися на серії jQuery 3.x.

Безпека та нові можливості jQuery 4.0

Щодо безпеки, jQuery 4.0 додала підтримку Trusted Types. Це дозволяє безпечно передавати HTML, обгорнутий у об’єкти TrustedHTML, методам маніпуляції jQuery згідно з суворими конфігураціями політики безпеки вмісту. Крім того, більшість асинхронного завантаження скриптів тепер залежить від динамічно створених <script> елементів замість вбудованих скриптів, за винятком обмежених випадків.

Внутрішні зміни в jQuery 4.0

Внутрішньо код jQuery завершив міграцію з AMD модулів на ES модулі. Проект тепер використовує Rollup для упаковки, що робить джерело безпосередньо сумісним з сучасними інструментами та робочими процесами, а також доступним через <script type="module"> у підтримуваних браузерах.

Як і очікувалося, було видалено кілька давно застарілих API. До них відносяться утиліти, такі як jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.now та кілька CSS-лімітованих внутрішніх функцій. У всіх випадках рідні API браузера забезпечують пряму заміну.

Додаткове внутрішнє очищення включає видалення push, sort і splice з прототипу jQuery.

Зміни в подіях та обсязі jQuery 4.0

jQuery 4.0 також змінила порядок подій, пов’язаних з фокусом, щоб відповідати чинній специфікації W3C. У зв’язку з цим бібліотека більше не переважає над рідною поведінкою браузера. Це означає, що послідовності подій тепер слідують стандартному порядку, використовуваному сучасними браузерами.

Нарешті, обсяг slim-версії був зменшений ще більше шляхом видалення Deferreds і Callbacks, що призвело до загального обсягу в приблизно 19.5 KB у стиснутому вигляді. Рідні Promises можуть замінити більшість використання Deferred у підтримуваних браузерах. Проектам, які все ще потребують підтримки IE 11, слід продовжувати використовувати повну версію або додати полифіл для Promise.

Для отримання додаткової інформації та детального списку всіх змін, дивіться оголошення.