O atributo de Async em Scripts

0

Existe alguma razão para usar o atributo async quando o script já está na parte inferior da página?

Uma pergunta perspicaz e muito curiosa.

A pergunta se baseava em cima deste código:

<script async src="/js/script.js"></script>

</body>

Bom, a sua utilização de forma resumida força a utilização de que o carregamento do script aconteça de forma assíncrona e/ou paralela ao carregamento da página como um todo.

Isto até faria sentido e é super recomendado para scripts que estão no início da página, para que eles não atrapalhem todo o carregamento da página caso algo aconteça.

Mas a questão atual se baseia na seguinte dúvida : E no final da página? Existe uma razão específica para utilizar? Já que ao final da página, eu não terei nenhuma dependência a mais.

Bom, a resposta curta para isto é: Não

Já a resposta completa é:

O que você está tentando forçar com o atributo async é evitar o bloqueio parser. Se você usar o atributo async, você está dizendo: Eu não quero que o navegador pare o que está fazendo enquanto ele está baixando este script ou processando. Eu sei que esse script realmente não depende de nada e no DOM quando ele é executado também não precisa ser executado em qualquer ordem particular.

No final das contas você está apenas afirmando o que já vai ser feito, que é o carregamento do script ao final da página, se colocá-lo no final. Porém vale a pena lembrar é que caso você utilizar múltiplas chamadas async você tem que garantir que nenhum script dependerá do outro, pois caso contrário, você terá grandes problemas!

Bom, fique a dica para leitura complementar: Async (em inglês)

Um abraço a todos! 🙂

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com