Show Menu
TÓPICOS×

Load order for rules

O pedido 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.
O texto vermelho no diagrama acima representa atividade não sequencial. O texto em verde representa atividade sequencial.
A seção a seguir discute como as diferentes opções de script de tags do JavaScript/de terceiros são usadas nas quatro fases do carregamento da página.
  • Início da página
    • HTML sequencial: Inserido em <HEAD/> abaixo da biblioteca do DTM, incluir script se <SCRIPT/> tags forem usadas; caso contrário, é inserido no início da <BODY/>
    • Javascript sequencial global: Inserido abaixo <HEAD/> do DTM, incluir script quando o javascript incluir <SCRIPT/>
    • Javascript sequencial local: Inserido abaixo <HEAD/> do DTM, incluir script quando o javascript incluir <SCRIPT/>
    • Javascript não sequencial: Inserido como assíncrono <SCRIPT/> em <HEAD> abaixo da biblioteca do DTM, inclui script
    • HTML não sequencial: inserido como IFRAME oculto e não afeta a página HTML
  • Final da página
    • HTML sequencial: Inserido após _satellite.pageBottom() o script de retorno de chamada com document.write() o antes DOMREADY para que não haja destruição da página visível
    • Javascript sequencial global: Inserido depois _satellite.pageBottom() que o javascript incluir <SCRIPT/>
    • Javascript sequencial local: Inserido depois _satellite.pageBottom() que o javascript incluir <SCRIPT/>
    • Javascript não sequencial: Inserido como assíncrono <SCRIPT/> em <HEAD> abaixo da biblioteca do DTM, inclui script
    • HTML não sequencial: inserido como IFRAME oculto e não afeta a página HTML
  • DOM Ready
    • HTML sequencial: Não funcionará porque DOMREADY está ativo e document.write() substituirá a página
    • Javascript sequencial global: Inserido abaixo <HEAD/> do DTM, incluir script quando o javascript incluir <SCRIPT/>
    • Javascript sequencial local: Inserido abaixo <HEAD/> do DTM, incluir script quando o javascript incluir <SCRIPT/>
    • Javascript não sequencial: Inserido como assíncrono <SCRIPT/> em <HEAD> abaixo da biblioteca do DTM, inclui script
    • HTML não sequencial: inserido como IFRAME oculto e não afeta a página HTML
  • Onload (carregamento de janela)
    • HTML sequencial: Não funcionará porque DOMREADY está ativo e document.write() substituirá a página
    • Javascript sequencial global: Inserido abaixo <HEAD/> do DTM, incluir script quando o javascript incluir <SCRIPT/>
    • Javascript sequencial local: Inserido abaixo <HEAD/> do DTM, incluir script quando o javascript incluir <SCRIPT/>
    • Javascript não sequencial: Inserido como assíncrono <SCRIPT/> em <HEAD> abaixo da biblioteca do DTM, inclui script
    • HTML não sequencial: inserido como IFRAME oculto e não afeta a página HTML
As regras de terceiros para HTML não sequencial são sempre colocadas dentro de iFrames. Não há HTML assíncrono para que o Gerenciamento dinâmico de tags se refira à funcionalidade iframe com esse nome.
Even though scripts might be injected into the <HEAD/> later in the page processing like DOMREADY and ONLOAD , scripts will only appear in the proper timing sequence and be either global, local, synchronous, or asynchronous. Also, Dynamic Tag Management checks to make sure that the timing is being handled properly and if DOMREADY has already occurred, it will not attempt a page-destructive document.write() . O Gerenciamento dinâmico de tags tem cuidado para não quebrar a página visual, se possível. Por isso, talvez você veja uma mensagem de erro de "instalação assíncrona" sem que a instalação seja, de fato, "assíncrona". Trata-se apenas de um alerta que ajuda a reconhecer que a sincronização da página parece questionável e que DOMREADY foi acionado antes que todos os scripts síncronos fossem carregados como esperado. If that happens, check to make sure that the pageBottom() callback is actually in the correct place immediately prior to the </body> tag. Se não estiver, podem ocorrer esses tipos de erro.
A fila Gerenciamento dinâmico de tags realiza o processamento na ordem listada acima, mas não faz distinção entre um script javascript e HTML na fase de carregamento da página.
Isto significa que a ordem das regras de carregamento da página na fila determina a ordem em que são removidos da fila.
A simple way to determine the queue order is to look at _satellite.configurationSettings.pageLoadRules in the JavaScript console and examine the sequence.
Por exemplo, uma visualização completa da regra de carregamento da página pode ser visualizada ao inserir o seguinte código no console de 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})