Издание на 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 е запазена, но ще бъде премахната в jQuery 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.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster