Pas nearly 10 vjet nga publikimi i degës 3.0 dhe 20 vjet pas themelimit të projektit, u publikua një version i ri i bibliotekës JavaScript jQuery 4.0, e cila, sipas të dhënave nga organizata W3Techs, përdoret në 70.9% të 10 milion faqeve më të vizituara në internet. Kodi jQuery shpërndahet nën licencën MIT.
Shqipërimi i jQuery 4.0 përmban ndryshime që thyejnë përputhshmërinë prapa, por sipas zhvilluesve, shumica e përdoruesve do të mund të kalojnë në versionin e ri pa probleme me ndryshime minime në kodin e tyre. Për të lehtësuar migrimin, mund të përdoret një plugin i veçantë. Shkeljet e përputhshmërisë prapa lidhen me heqjen e kodit të vjetruar, heqjen e disa parametrave të brendshëm të dokumentuar, ndërprerjen e mbështetjes për disa sjellje tepër të komplikuara dhe ndërprerjen e mbështetjes për API-të që më parë ishin shpallur si të vjetra. Heqja e API-ve dhe shfletuesve të vjetruar ka lejuar zvogëlimin e madhësisë së arkivit gzip me bibliotekën me 3 KB (versioni slim tani zë 19.5 KB, ndërsa versioni i plotë - 27.5 KB).
Ndër ndryshimet:
- Mbështetje për shfletuesin IE 10 dhe versionet më të vjetra është ndalur (mbështetje për IE 11 mbetet e ruajtur, por do të hiqet në Query 5.0), si dhe për shfletues të tjerë më të vjetër si Edge Legacy, Android Browser dhe Firefox deri në degën 115.
- Mbështetje për API-në Trusted Types është integruar, e zhvilluar për të mbrojtur nga manipulimet me DOM që çojnë në skriptim ndërfaqesh (DOM XSS), për shembull, kur trajtohen në mënyrë të papërshtatshme të dhënat e marra nga përdoruesi në blloqet eval() ose futjet '.innerHTML', që mund të çojnë në ekzekutimin e kodit JavaScript në kontekstin e një faqe të caktuar. Kodi HTML tani mund të kalojë në metodat e jQuery në formën e objekteve TrustedHTML.
- Kodi jQuery është transferuar në përdorimin e moduleve JavaScript ESM (ECMAScript Module) dhe mund të ofrohet dhe importohet si një modul.
- Janë hequr funksionet që më parë ishin të shënuara si të vjetra: jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps dhe jQuery.fx.interval. Në vend të këtyre funksioneve, rekomandohet të përdoren funksionet standarde të JavaScript-it Array.isArray(), JSON.parse(), String.prototype.trim() dhe Date.now()
- JanĂ« hequr metodat e brendshme tĂ« panjohura tĂ« objektit Array â push, sort dhe splice.
- Rendi i pĂ«rpunimit tĂ« ngjarjeve tĂ« ndryshimit tĂ« fokusit Ă«shtĂ« pĂ«rputhur me specifikimin W3C â blur, focusout, focus dhe focusin.
- Madhësia e versionit të zvogëluar (slim), që nuk përmban module ajax dhe efekte, është shkurtuar në 19.5k duke ndaluar furnizimin e objekteve Deferred (këshillohet përdorimi i Promises standarde) dhe Callbacks.
Burimi: opennet.ru
