Show Menu
TEMAS×

Load order for rules

El orden de carga de la administración dinámica de etiquetas en relación con el orden de carga de JavaScript.
En el siguiente diagrama se muestra el orden de carga de página general.
El texto rojo del diagrama anterior representa una actividad no secuencial. El texto verde representa la actividad secuencial.
La siguiente sección trata sobre cómo se utilizan las distintas opciones de script de etiquetas de JavaScript y de terceros en las cuatro fases de carga de la página.
  • Principio de página
    • HTML secuencial: Insertado en <HEAD/> debajo de la biblioteca de la DTM incluye script si se utilizan <SCRIPT/> etiquetas; de lo contrario se inserta en la parte superior de <BODY/>
    • JavaScript secuencial global: Insertado en <HEAD/> debajo de la DTM incluye script porque JavaScript incluye <SCRIPT/>
    • JavaScript secuencial local: Insertado en <HEAD/> debajo de la DTM incluye script porque JavaScript incluye <SCRIPT/>
    • JavaScript no secuencial: Insertado como asincrónico <SCRIPT/> en <HEAD> debajo de la biblioteca de la DTM incluye script
    • HTML no secuencial: insertado como IFRAME oculto y no afecta al HTML de la página
  • Final de página
    • HTML secuencial: Se insertó tras _satellite.pageBottom() la secuencia de comandos de llamada de retorno con document.write() anterior a DOMREADY para que no hubiera destrucción de la página visible
    • JavaScript secuencial global: Se insertó después _satellite.pageBottom() de que JavaScript incluya <SCRIPT/>
    • JavaScript secuencial local: Se insertó después _satellite.pageBottom() de que JavaScript incluya <SCRIPT/>
    • JavaScript no secuencial: Insertado como asincrónico <SCRIPT/> en <HEAD> debajo de la biblioteca de la DTM incluye script
    • HTML no secuencial: insertado como IFRAME oculto y no afecta al HTML de la página
  • Listo para DOM
    • HTML secuencial: No funcionará porque DOMREADY está activo y document.write() sobrescribirá la página
    • JavaScript secuencial global: Insertado en <HEAD/> debajo de la DTM incluye script porque JavaScript incluye <SCRIPT/>
    • JavaScript secuencial local: Insertado en <HEAD/> debajo de la DTM incluye script porque JavaScript incluye <SCRIPT/>
    • JavaScript no secuencial: Insertado como asincrónico <SCRIPT/> en <HEAD> debajo de la biblioteca de la DTM incluye script
    • HTML no secuencial: insertado como IFRAME oculto y no afecta al HTML de la página
  • Onload (carga de la ventana)
    • HTML secuencial: No funcionará porque DOMREADY está activo y document.write() sobrescribirá la página
    • JavaScript secuencial global: Insertado en <HEAD/> debajo de la DTM incluye script porque JavaScript incluye <SCRIPT/>
    • JavaScript secuencial local: Insertado en <HEAD/> debajo de la DTM incluye script porque JavaScript incluye <SCRIPT/>
    • JavaScript no secuencial: Insertado como asincrónico <SCRIPT/> en <HEAD> debajo de la biblioteca de la DTM incluye script
    • HTML no secuencial: insertado como IFRAME oculto y no afecta al HTML de la página
Las reglas de terceros de HTML no secuencial siempre se colocan en iFrames. No existe como HTML asincrónico, de modo que la administración dinámica de etiquetas hace referencia a la funcionalidad iframe con ese nombre.
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() . La administración dinámica de etiquetas no interrumpe la página visual si es posible. Por ese motivo, es posible que vea un error de “instalación asinc” aunque la instalación no sea realmente “asinc”. Se trata simplemente de una alerta que le ayuda a darse cuenta de que los tiempos de la página no son del todo precisos y de que DOMREADY se ha activado antes de cargar todos los scripts sincrónicos, como debería ser. If that happens, check to make sure that the pageBottom() callback is actually in the correct place immediately prior to the </body> tag. De no ser así, se pueden producir este tipo de errores.
La cola de administración dinámica de etiquetas los procesa en el orden indicado anteriormente, pero no distingue entre JavaScript y una secuencia de comandos HTML dentro de la fase de carga de página.
Esto significa que el orden de las reglas de carga de página de la cola determina el orden en el que se quitan de la cola.
A simple way to determine the queue order is to look at _satellite.configurationSettings.pageLoadRules in the JavaScript console and examine the sequence.
Por ejemplo, para obtener una vista completa del orden de la cola de reglas de carga de página, debe introducir el código siguiente en la consola 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})