Marc Oh: Skript funktioniert nur nach Zeilenumbruch im Quellcode

Hallöchen, miteinander!

Ich habe bei einem Projekt mehrmals in einer Datei ein einzeilige Anweisung.
Nun habe ich beim Ändern einmal diese JS-Zeile inklusive der HTML-Kommentarzeichen in eine Zeile getan
(einfach den Zeilenumbruch rausgelöscht). Danach wird diese JS-Anweisung nicht mehr ausgeführt!

Hier der funktionierende <script>-Bereich:

<script language="Javascript">
<!--
if (parent.Menu.location.href != "support_menu.html") parent.Menu.location.href = "support_menu.html"; // -->
</script>

Und so geht's nicht mehr:

<script language="Javascript">
<!-- if (parent.Menu.location.href != "support_menu.html") parent.Menu.location.href = "support_menu.html"; // -->
</script>

Weder NN noch IE führen die Anweisung im zweiten Fall aus! Wieso das?
...auch "Javascript1.1" o.ä. nützt nix...

MfG, Marc Oh

  1. Hi,

    <!-- if (parent.Menu.location.href != "support_menu.html") parent.Menu.location.href = "support_menu.html"; // -->

    Weder NN noch IE führen die Anweisung im zweiten Fall aus! Wieso das?

    weil "<!--" auch im <script>-Bereich als Kommentarzeile interpretiert wird.

    Cheatah

    1. weil "<!--" auch im <script>-Bereich als Kommentarzeile interpretiert wird.

      Häh? Wieso das?
      Ich hab' noch nirgends eine andere Angabe gefunden, als dass "/* Kommentar */" oder "// Kommentar" so interpretiert wird!

      Der JS-Interpreter sollte das <!-- ja eigentlich ignorieren!

      lg, Marc Oh

      1. Hi,

        weil "<!--" auch im <script>-Bereich als Kommentarzeile interpretiert wird.

        Häh? Wieso das?

        weil sonst Clients, die <script> nicht kennen, den Inhalt anzeigen würden.

        Ich hab' noch nirgends eine andere Angabe gefunden, als dass "/* Kommentar */" oder "// Kommentar" so interpretiert wird!

        Der Beginn des HTML-Kommentars ist gewissermaßen ein Spezialfall. Es ist zwingend notwendig, daß dieser in einem <script>-Bereich erlaubt ist und auch als Kommentar gewertet - also vom Script-Interpreter ignoriert wird.

        Der JS-Interpreter sollte das <!-- ja eigentlich ignorieren!

        Ja, tut er doch auch. Genau wie den Rest der Zeile.

        Cheatah