dedlfix: Google Tag Assistant - Frage zu Quellcode

Beitrag lesen

Tach!

Warum findet der Tag Assistant den Code obwohl ich diesen durch eine händische Suche im Quellcode nicht finden kann?

Eine Webseite wird geladen, vom Browser interpretiert und ein DOM (Document Object Model) aufgebaut. Anhand des DOM wird die Darstellung erstellt. Dann kommt unter Umständen noch Javascript ins Spiel, das Änderungen vornehmen möchte, um bestimmte Dinge zu erreichen, die mit HTML (und CSS) allein nicht umsetzbar sind. Es kann dazu in das DOM eingreifen und dort Elemente hinzufügen, ändern oder entfernen. Daraufhin passt sich die Darstellung auf dem Bildschirm an. Der ursprüngliche Quellcode bleibt aber so erhalten wie er war. Die Änderungen werden nicht vom DOM in die Quelle zurückgeschrieben. Das ergibt nämlich keinen Sinn, weil der Browser längst dazu übergegangen ist, mit dem DOM zu arbeiten und den Quellcode nicht mehr benötigt.

Es ist aber möglich, das gesamte DOM oder Teile daraus in den Code zurückzurechnen, wie er sein müsste, um daraus den aktuellen Zustand erzeugen zu können. Sozusagen der Original-Code und darein eingearbeitet die Änderungen von Javascript. Das ist in deinem Fall passiert. Der Tag Assistent hat aus dem DOM etwas zurückgerechnet, was nachträglich eingefügt wurde. Du kannst das in seiner vollen Schönheit also nicht im Quellcode finden, aber du kannst eventuell signifikate Wörter im Quellcode oder hinzugeladenen Dateien finden. Wenn du dann da in der Näche umherschaust, wirst du vielleicht auch den Code finden, der die DOM-Manipulation vorgenommen hat.

Es kann aber auch ein wenig anders sein. Wenn kein Javascript Änderungen vorgenommen hat, so ist es zuminst immer noch möglich, dass im DOM die Attribute eines Elements anders angeordnet sind als in der Quelle. Das kannd er Browser durchaus machen, wenn er denkt, dass eine andere Reihenfolge für ihn von Vorteil ist. Das Zurückrechnen vom DOM in HTML-Code würde dann auch eine andere Reihenfolge der Attribute ergeben. Ein direkter Textvergleich scheitert dannn natürlich auch.

Eine weitere Ursachen kann sein, dass einfache Anführungszeichen zu doppelten rückübersetzt wurden und umgekehrt. Auch das ergibt dann unterschiedliche Texte. Die Anführungszeichen sind nur zur korrekten Interpretation des Quellcodes notwendig. Im DOM jedoch werden die Werte anderes verwaltet. Zeichen zur Begrenzung sind da nicht notwendig und deshalb sind die ursprünglichen Anführungszeichen wegen Nichtmehrnotwendigkeit verlorengegeangen.

dedlfix.