Sobes.tech
Middle

Mi a különbség a <script>, <script async> és <script defer> tagek között?

sobes.tech MI

Válasz az MI-től

  • <script>: A HTML elemzés megszakad, a script betöltődik és végrehajtódik, majd a HTML elemzés folytatódik. Blokkolja a renderelést.
  • <script async>: A script aszinkron módon töltődik be, párhuzamosan a HTML elemzéssel. Amint a script betöltődött, a HTML elemzés megszakad a script végrehajtására, majd folytatódik. Az aszinkron script-ek végrehajtási sorrendje nem garantált.
  • <script defer>: A script aszinkron módon töltődik be, párhuzamosan a HTML elemzéssel. A végrehajtás késleltetve van, amíg a HTML elemzés és a DOM felépítése be nem fejeződik. A késleltetett script-ek végrehajtási sorrendje megmarad a dokumentumbeli sorrend szerint.

Íme egy táblázat, amely összefoglalja a különbségeket:

Tulajdonság Betöltés Végrehajtás HTML elemzés blokkolása Script sorrend
hiányzik Szinkron Azonnal a betöltés után Igen Garantált
async Aszinkron Azonnal a betöltés után (ha a HTML még elemződik) Igen (a végrehajtás közben) Nem garantált
defer Aszinkron A HTML és a DOM teljes betöltése után Nem (kivéve a végrehajtás pillanatában, de a HTML után) Garantált