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 |