Usa document.write ()
O uso de document.write()
pode atrasar a exibição do conteúdo da página em dezenas de segundos e é particularmente problemático para usuários em conexões lentas. O Chrome, portanto, bloqueia a execução de document.write()
em muitos casos, o que significa que você não pode confiar nele.
No Chrome DevTools Console, você verá a seguinte mensagem ao usar document.write()
:
[Violation] Avoid using document.write().
No Firefox DevTools Console, você verá esta mensagem:
An unbalanced tree was written using document.write() causing
data from the network to be reparsed.
Como a auditoria Lighthouse sobre document.write()
falha #
O Lighthouse sinaliza solicitações para document.write()
que não foram bloqueadas pelo Chrome:
Para os usos mais problemáticos, o Chrome bloqueará solicitações para document.write()
ou emitirá um aviso de console sobre elas, dependendo da velocidade de conexão do usuário. De qualquer forma, as solicitações afetadas aparecem no console do DevTools. Consulte o artigo Intervenção contra document.write()
para obter mais informações.
O Lighthouse relata todas as solicitações restantes para document.write()
porque ele afeta negativamente o desempenho independentemente de como é usado, e há alternativas melhores.
Evite document.write()
#
Remova todos os usos de document.write()
em seu código. Se estiver sendo usado para injetar scripts de terceiros, tente usar o carregamento assíncrono .
Se o código de terceiros estiver usando document.write()
, peça ao fornecedor para oferecer suporte ao carregamento assíncrono.
Recursos #
- Código-fonte para auditoria de Usos de
document.write()
- Intervenção contra
document.write()
- Bloqueio do analisador versus JavaScript assíncrono
- Análise especulativa