Middle
Qual è la differenza tra i tag <script>, <script async> e <script defer>?
sobes.tech AI
Risposta dell'AI
Script normale: il browser interrompe l’analisi HTML, carica ed esegue lo script, poi riprende l’analisi. Blocca la visualizzazione.
<script async>: lo script viene caricato in modo asincrono, l’analisi HTML continua. Lo script viene eseguito subito dopo il caricamento, potendo interrompere l’analisi HTML. L’ordine di esecuzione degli script non è garantito.
<script defer>: lo script viene caricato in modo asincrono, l’analisi HTML continua. L’esecuzione dello script viene posticipata fino al completamento dell’analisi HTML e della costruzione dell’albero DOM. Gli script vengono eseguiti nell’ordine in cui appaiono nell’HTML.
| Attributo | Analisi HTML | Caricamento script | Esecuzione script | Dipendenza dall’ordine |
|---|---|---|---|---|
| Assente | Si interrompe | Blocca | Blocca | Garantito |
async |
Continua | Non blocca | Può interrompere l’analisi | Non garantito |
defer |
Continua | Non blocca | Dopo l’analisi HTML | Garantito |