doppelt ausgeführtes Script??
Encoder
- javascript
Hallo
Bin grad am Zweifeln...
Meiner Testdatei für HTML und CSS fehlte ein
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
im head.
Darin hab ich Javaswcript getestet, das einen alert ausgegeben hat.
Jetzt der Witz daran, das Script wurde in Firefox zweimal ausgeführt. Ich such schon ne Stunde nach dem Grund.
Wenn ich irgendetwas aus der HTML-Datei lösche, wirds nur einmal ausgeführt. Egal ob das ein komplettes div ist oder mit <!-- --> kommentierte Zeilen, egal was. Ich schmeiß irgendwas bedeutungsloses raus und das Script wird nur noch einmal ausgeführt, so wie es sein soll.
Ist das erklärbar, vielleicht damit dass die obige Angabe fehlt?
Hi,
Ist das erklärbar, vielleicht damit dass die obige Angabe fehlt?
das ist ganz logisch: Dein Script überprüft den Quellcode der Seite. Unterscheidet er sich von dem Erwarteten, führt es sich selbst noch einmal aus. Über eine globale Variable wird eine Endlosschleife verhindert.
Oder magst Du nicht noch etwas mehr dazu sagen, z.B. den Link zur Seite mit diesem Phänomen, oder einfach nur die Anzahl der Browserinstanzen, mit denen Du es nachvollziehen kannst? Die letzte Frage lässt sich auch vereinfachen: Ist die Anzahl der Firefox-Installationen, mit denen das Problem sichtbar ist, größer als 1?
Cheatah
Oder magst Du nicht noch etwas mehr dazu sagen, z.B. den Link zur Seite mit diesem Phänomen
Das ist eine Testseite mit ein paar divs mit CSS-Spielereien drin. Und eben mit dem Script, das ich inzwischen nur auf einen alert gekürzt habe.
Online ist das nicht und ich habs inzwischen auch nicht mehr so vorliegen wie ich da gesten eine Ewigkeit dran rumgespielt habe.
Der Inhalt war valide, nur bis auf dieses Headerfeld. JS-Fehler gabs auch keine. Von daher hat mich gewundert, dass der Browser da so seltsam reagiert.
Vor allem wenn ich auskommentierte Teile aus dem Quellcode lösche, dann wurde das Script (das von dem Kommentarteil nicht betroffen ist) wieder nur einmal ausgeführt.
Vielleicht kennt ja jemand dieses Verhalten.
Hi,
Der Inhalt war valide, nur bis auf dieses Headerfeld. JS-Fehler gabs auch keine. Von daher hat mich gewundert, dass der Browser da so seltsam reagiert.
Vor allem wenn ich auskommentierte Teile aus dem Quellcode lösche, dann wurde das Script (das von dem Kommentarteil nicht betroffen ist) wieder nur einmal ausgeführt.
offensichtlich ist das Script von dem Kommentarteil doch betroffen. Da das, wie Du selbst feststellst, keine Selbstverständlichkeit ist, sind mehr Informationen über das Umfeld nötig - und zwar exakte, da schon kleinste Änderungen eine Änderung bewirken.
Sprich: Wir brauchen das ganze online.
Cheatah
Ich hab die Datei leider nicht mehr in der Form wie sie mich zum Wahnsinn getrieben hat :-(
Mich hat nur gewundert dass da anscheinend so subtile Sachen passieren. Wenn laut Validierung der von ir zitierte header fehlt und deswegen das Dokument doppelt geparst wird, ok. Versteh ich zwar auch schon nicht ganz aber wenns nunmal so ist, solls so sein.
Aber zumindest wenn aus einem Abschnitt der Art
<!--
<div> hier Spielereien mit CSS und so </div>
noch mal divs...
irgendwas das der Browser eigentlich komplett ignorieren sollte...
-->
was rausgelöscht wird, hätte ich erwartet dass das den Browser wirklich nicht juckt.
Hi,
<!--
<div> hier Spielereien mit CSS und so </div>
noch mal divs...
irgendwas das der Browser eigentlich komplett ignorieren sollte...
er soll es nicht ignorieren. Er soll es als Kommentar-Knoten erkennen und in die DOM-Struktur verarbeiten. Je nach Inhalt kann es zudem sein, dass der Code mechanisch betrachtet valide ist und trotzdem nicht dem entspricht, was Du erwartest.
Cheatah