Pedido de carregamento para regras

A ordem de carregamento do Gerenciamento dinâmico de tags em relação à ordem de carregamento do JavaScript.

O diagrama a seguir mostra a ordem geral de carregamento da página.

OBSERVAÇÃO

O texto vermelho no diagrama acima representa atividade não sequencial. O texto verde representa atividade sequencial.

A seção a seguir discute como as diferentes opções de script de tags JavaScript/de terceiros são utilizadas nas quatro fases de carregamento da página:

  • Parte superior da página

    • HTML sequencial: Injetado em <HEAD/> abaixo da biblioteca do DTM, inclua script se <SCRIPT/> as tags forem usadas, caso contrário, será inserido em cima de <BODY/>
    • JavaScript sequencial global: Injetado em <HEAD/> abaixo do DTM, inclua o script quando o JavaScript incluir <SCRIPT/>
    • JavaScript sequencial local: Injetado em <HEAD/> abaixo do DTM, inclua o script quando o JavaScript incluir <SCRIPT/>
    • JavaScript não sequencial: Injetado como assíncrono <SCRIPT/> abaixo da biblioteca do DTM, inclui script <HEAD>
    • HTML não sequencial: Injetado como oculto IFRAME e não afeta o HTML da página
  • Final da página

    • HTML sequencial: Injetado após o script de _satellite.pageBottom() retorno de chamada com document.write() anterior a DOMREADY para que não haja destruição da página visível

    • JavaScript sequencial global: Injetado após _satellite.pageBottom() a inclusão do JavaScript <SCRIPT/>

    • JavaScript sequencial local: Injetado após _satellite.pageBottom() a inclusão do JavaScript <SCRIPT/>

    • JavaScript não sequencial: Injetado como assíncrono <SCRIPT/> abaixo da biblioteca do DTM, inclui script <HEAD>

    • HTML não sequencial: Injetado como oculto IFRAME e não afeta o HTML da página

  • DOM Ready

    • HTML sequencial: Não funcionará porque DOMREADY está ativa e document.write() substituirá a página
    • JavaScript sequencial global: Injetado em <HEAD/> abaixo do DTM, inclua o script quando o JavaScript incluir <SCRIPT/>
    • JavaScript sequencial local: Injetado em <HEAD/> abaixo do DTM, inclua o script quando o JavaScript incluir <SCRIPT/>
    • JavaScript não sequencial: Injetado como assíncrono <SCRIPT/> abaixo da biblioteca do DTM, inclui script <HEAD>
    • HTML não sequencial: Injetado como oculto IFRAME e não afeta o HTML da página
  • Onload (carregamento de janela)

    • HTML sequencial: Não funcionará porque DOMREADY está ativa e document.write() substituirá a página
    • JavaScript sequencial global: Injetado em <HEAD/> abaixo do DTM, inclua o script quando o JavaScript incluir <SCRIPT/>
    • JavaScript sequencial local: Injetado em <HEAD/> abaixo do DTM, inclua o script quando o JavaScript incluir <SCRIPT/>
    • JavaScript não sequencial: Injetado como assíncrono <SCRIPT/> abaixo da biblioteca do DTM, inclui script <HEAD>
    • HTML não sequencial: Injetado como oculto IFRAME e não afeta o HTML da página

As regras de terceiros HTML não sequenciais são sempre colocadas em iFrames. Não há HTML assíncrono, portanto o Gerenciamento dinâmico de tags se refere à funcionalidade do iFrame com esse nome.

OBSERVAÇÃO

Embora os scripts possam ser inseridos no <HEAD/> final no processamento da página como DOMREADY e ONLOAD, eles só aparecerão na sequência de tempo apropriada e serão globais, locais, síncronos ou assíncronos. Além disso, o Gerenciamento dinâmico de tags verifica se o tempo está sendo manipulado corretamente e, se já DOMREADY ocorreu, ele não tentará uma página destrutiva document.write(). O Gerenciamento dinâmico de tags é diligente para não quebrar a página visual, se possível. Por essa razão, você pode ver um erro de "instalação assíncrona" quando a instalação pode não ser realmente "assíncrona". É simplesmente um alerta que ajuda você a reconhecer que o tempo na página é questionável e que DOMREADY foi acionado antes que todos os scripts síncronos fossem carregados como deveriam. Se isso acontecer, verifique se o pageBottom() retorno de chamada está no local correto imediatamente antes da </body> tag . Caso contrário, esses tipos de erros podem ocorrer.

A fila do Gerenciamento dinâmico de tags os processa na ordem listada acima, mas não faz distinção entre um script JavaScript e HTML na fase de carregamento da página.

Isso significa que a ordem das regras de carregamento da página na fila determina a ordem em que elas são removidas da fila.

Uma maneira simples de determinar a ordem da fila é verificar _satellite.configurationSettings.pageLoadRules no console do JavaScript e examinar a sequência.

Por exemplo, uma visualização completa da ordem de fila da regra de carregamento da página pode ser visualizada inserindo o seguinte código no console do JavaScript:

 _satellite.each(_satellite.configurationSettings.pageLoadRules,function(i){(i.event=='pagetop')?_satellite.notify(i.event+': '+i.name,1):false})
 _satellite.each(_satellite.configurationSettings.pageLoadRules,function(i){(i.event=='pagebottom')?_satellite.notify(i.event+': '+i.name,1):false})
 _satellite.each(_satellite.configurationSettings.pageLoadRules,function(i){(i.event=='domready')?_satellite.notify(i.event+': '+i.name,1):false})
 _satellite.each(_satellite.configurationSettings.pageLoadRules,function(i){(i.event=='windowload')?_satellite.notify(i.event+': '+i.name,1):false})

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now