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.

NOTE

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.

NOTE

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