Sobes.tech
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