Ordine di caricamento per le regole

L'ordine di caricamento di Gestione tag dinamica in relazione all'ordine di caricamento JavaScript.

Il diagramma seguente mostra l’ordine generale di caricamento delle pagine.

NOTA

Il testo rosso nel diagramma precedente rappresenta un'attività non sequenziale. Il testo verde rappresenta l'attività sequenziale.

Nella sezione seguente viene illustrato come le diverse opzioni di script di tag JavaScript/di terze parti vengono utilizzate nelle quattro fasi di caricamento delle pagine:

  • Parte superiore pagina

    • HTML sequenziale: Inserito in <HEAD/> una libreria DTM include script se vengono utilizzati <SCRIPT/> i tag, altrimenti viene iniettato nella parte superiore di <BODY/>
    • Sequential JavaScript globale: Inserito <HEAD/> sotto Gestione dinamica dei tag include script come JavaScript include <SCRIPT/>
    • JavaScript sequenziale locale: Inserito <HEAD/> sotto Gestione dinamica dei tag include script come JavaScript include <SCRIPT/>
    • JavaScript non sequenziale: Inserito come asincrono <SCRIPT/> in <HEAD> una libreria DTM include script
    • HTML non sequenziale: Inserito come nascosto IFRAME e non influisce sull’HTML della pagina
  • Parte inferiore pagina

    • HTML sequenziale: Iniettato dopo lo script di _satellite.pageBottom() callback con document.write() precedente a DOMREADY in modo che non vi sia distruzione della pagina visibile

    • Sequential JavaScript globale: Inserito dopo _satellite.pageBottom() l'inclusione di JavaScript <SCRIPT/>

    • JavaScript sequenziale locale: Inserito dopo _satellite.pageBottom() l'inclusione di JavaScript <SCRIPT/>

    • JavaScript non sequenziale: Inserito come asincrono <SCRIPT/> in <HEAD> una libreria DTM include script

    • HTML non sequenziale: Inserito come nascosto IFRAME e non influisce sull’HTML della pagina

  • DOM Ready

    • HTML sequenziale: Non funziona perché DOMREADY è attivo e document.write() sovrascrive la pagina
    • Sequential JavaScript globale: Inserito <HEAD/> sotto Gestione dinamica dei tag include script come JavaScript include <SCRIPT/>
    • JavaScript sequenziale locale: Inserito <HEAD/> sotto Gestione dinamica dei tag include script come JavaScript include <SCRIPT/>
    • JavaScript non sequenziale: Inserito come asincrono <SCRIPT/> in <HEAD> una libreria DTM include script
    • HTML non sequenziale: Inserito come nascosto IFRAME e non influisce sull’HTML della pagina
  • Onload (caricamento finestra)

    • HTML sequenziale: Non funziona perché DOMREADY è attivo e document.write() sovrascrive la pagina
    • Sequential JavaScript globale: Inserito <HEAD/> sotto Gestione dinamica dei tag include script come JavaScript include <SCRIPT/>
    • JavaScript sequenziale locale: Inserito <HEAD/> sotto Gestione dinamica dei tag include script come JavaScript include <SCRIPT/>
    • JavaScript non sequenziale: Inserito come asincrono <SCRIPT/> in <HEAD> una libreria DTM include script
    • HTML non sequenziale: Inserito come nascosto IFRAME e non influisce sull’HTML della pagina

Le regole di terze parti HTML non sequenziali vengono sempre inserite in iFrame. Non esiste un codice HTML asincrono, pertanto Gestione tag dinamica fa riferimento alla funzionalità iFrame con tale nome.

NOTA

Anche se gli script potrebbero essere inseriti <HEAD/> successivamente nell'elaborazione della pagina, come DOMREADY e ONLOAD, gli script verranno visualizzati solo nella sequenza temporale corretta e saranno globali, locali, sincroni o asincroni. Inoltre, Gestione tag dinamica verifica che il tempo sia gestito correttamente e che, se DOMREADY si è già verificato, non venga eseguito un tentativo di distruzione di pagina document.write(). Gestione tag dinamica è attenta a non interrompere la pagina visiva, se possibile. Per questo motivo, è possibile che venga visualizzato un errore di "installazione di tipo asyc" quando l'installazione potrebbe non essere "asincrona". Si tratta semplicemente di un avviso che aiuta a riconoscere che il tempo sulla pagina è in qualche modo discutibile e che DOMREADY è stato attivato prima di tutti gli script sincroni che si caricano come dovrebbero. In tal caso, verificate che il pageBottom() callback sia effettivamente nella posizione corretta immediatamente prima del </body> tag. In caso contrario, questi tipi di errori possono verificarsi.

La coda Gestione tag dinamica li elabora nell’ordine indicato sopra, ma non fa distinzione tra uno script JavaScript e uno script HTML nella fase di caricamento della pagina.

Ciò significa che l'ordine delle regole di caricamento delle pagine nella coda determina l'ordine in cui vengono deposte.

Un modo semplice per determinare l’ordine di coda consiste nell’osservare _satellite.configurationSettings.pageLoadRules nella console JavaScript ed esaminare la sequenza.

Ad esempio, una visualizzazione completa dell'ordine di coda delle regole di caricamento della pagina può essere visualizzata immettendo il seguente codice nella console 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})

In questa pagina