Michael: Kurioser Bug im IE?

Hallo,

beim coden eines längeren Javascripts bekam ich im IE immer wieder eine Fehlermeldung: "Objekt erwartet", Code: "0" URL: "index.html" (was vermutlich daher rührte, dass der IE das Script nicht richtig kompilieren oder einlesen konnte).
Der Code ist allerdings "fehlerfrei" und läuft auch in anderen Browsern ohne Fehler zu werfen.

Nach längerem Herumprobieren konnte ich folgendes Code / Kommentargebilde als Ursache identifizieren und reproduzieren:

  
// irgendein Kommentar  
function einefunktion()  {  
  alert("foo");  
}  

Wohingegen folgendes problemlos akzeptiert wird:

  
// irgendein Kommentar  
  
function einefunktion()  {  
  alert("foo");  
}  
  
oder auch:  
function einefunktion()  {  // irgendein Kommentar  
  alert("foo");  
}  

PS: Das HTML ist valides XHTML mit UTF-8.

Ist Euch so ein Bug auch schon einmal aufgefallen?

Viele Grüße

Michael

  1. Hallo Michael,

    Ist Euch so ein Bug auch schon einmal aufgefallen?

    Nein und eine Fehlerreproduktion gelingt mir auch nicht wenn ich es
    so probiere:

    <script type="text/javascript">
    // irgendein Kommentar
    function einefunktion()  {
      alert("foo");
    }
    </script>
    <p onclick="einefunktion();">vvvvvvvvvvvvvvvvvvvvvvv</p>

    Gruss
    Wolke

    ach ja IE6

    1. Hallo,

      Nein und eine Fehlerreproduktion gelingt mir auch nicht wenn ich es
      so probiere:

      <script type="text/javascript">
      // irgendein Kommentar
      function einefunktion()  {
        alert("foo");
      }
      </script>
      <p onclick="einefunktion();">vvvvvvvvvvvvvvvvvvvvvvv</p>

      Mir auch nicht (sonst wärs mir (und anderen) sicher schon öfters passiert). Evtl. tritt der Bug nur in bestimmten Konstellationen zwischen Script-inhalt / HTML auf? Vielleicht nur bei längeren Scripten?
      (Das mit dem der Bug auftritt ist ca. 800 Zeilen lang und als .js  eingebunden).

      ach ja IE6

      Ich vergaß: ja, IE 6 (XP SP2)

      Viele Grüße

      Michael

  2. echo $begrüßung;

    Nach längerem Herumprobieren konnte ich folgendes Code / Kommentargebilde als Ursache identifizieren und reproduzieren:
    // irgendein Kommentar
    function einefunktion()  {

    Vielleicht ein Problem mit Zeilenumbrüchen? Hast du mal einen Hex-Dump dieser Stelle angeschaut?

    echo "$verabschiedung $name";

  3. Yerf!

    // irgendein Kommentar
    function einefunktion()  {
      alert("foo");
    }

      
    
    > PS: Das HTML ist valides XHTML mit UTF-8.  
    >   
    > Ist Euch so ein Bug auch schon einmal aufgefallen?  
      
    Enthält "irgendein Kommentar" evtl. Umlaute? Ich hatte damit auch schon diverse Überraschungen. Im Debugger vom VisualStudio sieht man dann ganz gut was eigentlich passiert: ab dem Umlaut werden einfach ein paar Zeichen komplett ignoriert (in der Ansicht des Debuggers fehlen die einfach). Wenn das am Zeilenende passiert ist damit der Zeilenumbruch weg und somit die Funktionsdeklaration, womit der Code der Funktion sofort ausgeführt wird.  
      
    Gruß,  
      
    Harlequin