Show Menu
THEMEN×

Ladereihenfolge für Regeln

Die Ladereihenfolge des dynamischen Tag-Managements im Verhältnis zur JavaScript-Ladereihenfolge.
Das folgende Diagramm zeigt die allgemeine Seitenladereihenfolge.
Roter Text im obigen Diagramm stellt eine nicht sequenzielle Aktivität dar. Grüner Text stellt eine sequenzielle Aktivität dar.
Im folgenden Abschnitt wird erläutert, wie die Skriptoptionen für JavaScript-/Drittanbieter-Tags in den vier Ladephasen von Seiten verwendet werden:
  • Anfang der Seite
    • Sequenzielles HTML: Wird <HEAD/> unterhalb der DTM-Bibliothek eingefügt, enthält Skript, wenn <SCRIPT/> Tags verwendet werden, andernfalls wird oben eingefügt <BODY/>
    • Sequenzielles JavaScript global: In <HEAD/> unterhalb von DTM einfügen, Skript als JavaScript einschließen <SCRIPT/>
    • Sequenzielles JavaScript lokal: In <HEAD/> unterhalb von DTM eingesetztes Skript als JavaScript-Include <SCRIPT/>
    • Nicht sequenzielles JavaScript: Als asynchron <SCRIPT/> in <HEAD> unterhalb der DTM-Bibliothek injiziert, enthält Skript
    • Nicht sequenzielles HTML: Eingefügt als ausgeblendet IFRAME und wirkt sich nicht auf Seiten-HTML aus
  • Seitenende
    • Sequenzielles HTML: Nach _satellite.pageBottom() Rückrufskript mit document.write() vor DOMREADY eingefügt, sodass die sichtbare Seite nicht zerstört wird
    • Sequenzielles JavaScript global: Eingefügt nach _satellite.pageBottom() als JavaScript einschließlich <SCRIPT/>
    • Sequenzielles JavaScript lokal: Eingefügt nach _satellite.pageBottom() als JavaScript einschließlich <SCRIPT/>
    • Nicht sequenzielles JavaScript: Als asynchron <SCRIPT/> in <HEAD> unterhalb der DTM-Bibliothek injiziert, enthält Skript
    • Nicht sequenzielles HTML: Eingefügt als ausgeblendet IFRAME und wirkt sich nicht auf Seiten-HTML aus
  • DOM Ready
    • Sequenzielles HTML: Funktioniert nicht, da DOMREADY aktiv ist und die Seite überschrieben document.write() wird
    • Sequenzielles JavaScript global: In <HEAD/> unterhalb von DTM eingesetztes Skript als JavaScript-Include <SCRIPT/>
    • Sequenzielles JavaScript lokal: In <HEAD/> unterhalb von DTM einfügen, Skript als JavaScript einschließen <SCRIPT/>
    • Nicht sequenzielles JavaScript: Als asynchron <SCRIPT/> in <HEAD> unterhalb der DTM-Bibliothek injiziert, enthält Skript
    • Nicht sequenzielles HTML: Eingefügt als ausgeblendet IFRAME und wirkt sich nicht auf Seiten-HTML aus
  • Onload (Laden des Fensters)
    • Sequenzielles HTML: Funktioniert nicht, da DOMREADY aktiv ist und die Seite überschrieben document.write() wird
    • Sequenzielles JavaScript global: In <HEAD/> unterhalb von DTM eingesetztes Skript als JavaScript-Include <SCRIPT/>
    • Sequenzielles JavaScript lokal: In <HEAD/> unterhalb von DTM einfügen, Skript als JavaScript einschließen <SCRIPT/>
    • Nicht sequenzielles JavaScript: Als asynchron <SCRIPT/> in <HEAD> unterhalb der DTM-Bibliothek injiziert, enthält Skript
    • Nicht sequenzielles HTML: Eingefügt als ausgeblendet IFRAME und wirkt sich nicht auf Seiten-HTML aus
Nicht sequenzielle Drittanbieter-HTML-Regeln werden immer in iFrames platziert. Es gibt kein asynchrones HTML, daher bezieht sich das dynamische Tag-Management auf die iFrame-Funktionalität mit diesem Namen.
Auch wenn Skripten <HEAD/> später in die Seitenverarbeitung eingefügt werden können, wie DOMREADY und ONLOAD , erscheinen Skripten nur in der richtigen Zeitfolge und sind entweder global, lokal, synchron oder asynchron. Außerdem überprüft das dynamische Tag-Management, ob das Timing korrekt verarbeitet wird und ob es bereits erfolgt DOMREADY ist, es wird nicht versucht, eine Seitenzerstörung zu bewirken document.write() . Das dynamische Tag-Management ist darauf bedacht, die visuelle Seite nach Möglichkeit nicht zu beschädigen. Aus diesem Grund wird möglicherweise der Fehler "asymmetrische Installation"angezeigt, wenn die Installation nicht wirklich asynchron ist. Es handelt sich einfach um eine Warnung, die Ihnen hilft, zu erkennen, dass das Timing auf der Seite etwas fragwürdig ist und dass ausgelöst DOMREADY wurde, bevor alle synchronen Skripte geladen wurden, wie sie sollten. In diesem Fall überprüfen Sie, ob sich der pageBottom() Rückruf direkt vor dem Tag an der richtigen Stelle befindet </body> . Andernfalls können diese Fehlertypen auftreten.
Die Warteschlange des dynamischen Tag-Managements verarbeitet sie in der oben aufgeführten Reihenfolge, unterscheidet jedoch nicht zwischen einem JavaScript- und einem HTML-Skript innerhalb der Seitenladephase.
Das bedeutet, dass die Reihenfolge der Seitenladeregeln in der Warteschlange die Reihenfolge bestimmt, in der sie aus der Warteschlange entfernt werden.
Die Warteschlangenreihenfolge lässt sich einfach in der JavaScript-Konsole bestimmen und _satellite.configurationSettings.pageLoadRules die Sequenz untersuchen.
Eine vollständige Ansicht der Warteschlangenreihenfolge von Seitenladeregeln kann beispielsweise durch Eingabe des folgenden Codes in die JavaScript-Konsole angezeigt werden:
 _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})