A HTML5-tel két új bólus attribútumot kapunk a <script> taghez: async és defer. Az async lehetővé teszi a szkriptek aszinkron végrehajtását, a defer pedig csak a teljes dokumentum elemzése után teszi lehetővé a végrehajtást.

Ez a két attribútum elengedhetetlen a weboldalak sebességének és teljesítményének növeléséhez. Lehetővé teszik a renderelést blokkoló JavaScript kiküszöbölését, amikor az oldalnak be kellene töltenie és végre kellene hajtania a szkripteket, mielőtt befejezné az oldal renderelését. Íme egy használati példa:

<script defer src="https://www.digitalocean.com/js/jquery.min.js"></script>

Async vs. Defer

Async esetén a fájl letöltése aszinkron történik, majd a letöltés után azonnal végrehajtódik.

Defer esetén a fájl letöltése aszinkron történik, de csak akkor hajtódik végre, amikor a dokumentum elemzése befejeződött. A defer használatával a szkriptek a meghívásuk sorrendjében kerülnek végrehajtásra. Ez teszi a defer attribútumot a legjobb választássá, ha egy szkript egy másik szkripttől függ. Ha például a jQuery-t és más, tőle függő szkripteket használsz, akkor a defer-t használd rájuk (beleértve a jQuery-t is), ügyelve arra, hogy a jQuery-t a függő szkriptek előtt hívd meg.

A jó stratégia az async használata, ha lehetséges, és a defer használata, ha az async nem lehetséges.

👉Megjegyezzük, hogy mindkét attribútumnak nincs hatása az inline szkriptekre.

Böngésző támogatás

A script-async használata? Adatok a főbb böngészők script-async funkciójának támogatásáról a caniuse.com oldalról.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.