Middle
Qual é a diferença entre as tags <script>, <script async> e <script defer>?
sobes.tech IA
Resposta da IA
Script normal: o navegador para a análise do HTML, carrega e executa o script, depois continua a análise. Bloqueia a visualização.
<script async>: o script é carregado de forma assíncrona, a análise do HTML continua. O script é executado imediatamente após o carregamento, podendo interromper a análise do HTML. A ordem de execução dos scripts não é garantida.
<script defer>: o script é carregado de forma assíncrona, a análise do HTML continua. A execução do script é adiada até que a análise do HTML seja concluída e a árvore DOM seja construída. Os scripts são executados na ordem em que aparecem no HTML.
| Atributo | Análise do HTML | Carregamento do script | Execução do script | Dependência da ordem |
|---|---|---|---|---|
| Ausente | Para | Bloqueante | Bloqueante | Garantido |
async |
Continua | Não bloqueante | Pode interromper a análise | Não garantido |
defer |
Continua | Não bloqueante | Após a análise do HTML | Garantido |