Martin K.: semikolon in Javascript ignorieren

Die folgende Zeile ist in eine XSLT eingebettet. Der IE interpertiert sie ohne Probleme der Mozilla wandelt das kleiner gleich Zeichen in > um, was ja auch richtig ist. Ihn stört dann aber das zusätzlich Semikolon. Wie kann man das umgehen?

for (var i = 0, selected; i  <  Objektname.length; i++) {

Danke Martin

  1. Hallo,

    Die folgende Zeile ist in eine XSLT eingebettet. Der IE interpertiert sie ohne Probleme der Mozilla wandelt das kleiner gleich Zeichen in &gt; um, was ja auch richtig ist. Ihn stört dann aber das zusätzlich Semikolon. Wie kann man das umgehen?

    Indem du das Script in einen http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style@title=CDATA-Abschnitt einbettest. Danach dürfte der Firefox eigentlich nichts mehr umwandeln.

    mfg. Daniel

    1. Indem du das Script in einen http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style@title=CDATA-Abschnitt einbettest.

      Das dachte ich ja auch aber wenn ich:

      <![CDATA[

      function create_dropdown(select_index){

      <form>
      <select name="wahlmenue" onChange="zuSeite(this.form);">

      for (var i = 0, selected; i  < Objektname.length; i++)
        {

      if (i == select_index)
            {
               selected = 'selected="selected"';
            }
            else
            {
               selected = "";
            }
       }

      </select>
        </form>

      }

      ]]>

      Bekomme ich sogar bei <form> einen Fehler:

      "Fehler: syntax error
      Quelldatei: file:///
      Zeile: 49, Spalte: 1
      Quelltext: &lt;form&gt;"

      Danke Martin

      1. hi,

        Indem du das Script in einen http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style@title=CDATA-Abschnitt einbettest.

        Das dachte ich ja auch aber wenn ich:

        <![CDATA[

        function create_dropdown(select_index){

        <form>

        Wieso steht form in deinem Scriptbereich?
        (Oder wieso die Funktion ausserhalb davon?)

        Bekomme ich sogar bei <form> einen Fehler:

        "Fehler: syntax error
        Quelldatei: file:///
        Zeile: 49, Spalte: 1
        Quelltext: &lt;form&gt;"

        Natürlich, <form> ist ja auch kein Javascript.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. oh das stimmt mit dem form das ist ein Fehler.
          Aber der war schon behoben. Aber trotzdem wirft er mir hierbei einen Fehler raus:

          <![CDATA[

          function create_dropdown(select_index){

          for (var i = 0; i  < 10; i++)
          {
          document.write(i);
          }

          }

          ]]>

          und ich weiß nicht warum?
          Fehlermeldung:

          Fehler: missing ; after for-loop condition
          Quelldatei: file:///
          Zeile: 46, Spalte: 20
          Quelltext:
           for (var i = 0; i  "&lt;" 10; i++)

          1. hi,

            Aber trotzdem wirft er mir hierbei einen Fehler raus:

            <![CDATA[

            function create_dropdown(select_index){

            for (var i = 0; i  < 10; i++)
            {
            document.write(i);
            }

            }

            ]]>

            und ich weiß nicht warum?

            http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style:
            "Damit der Browser die Anfang- und Endmarkierung des CDATA-Abschnitts nicht als JavaScript-Code zu interpretieren versucht, werden sie durch  JavaScript-Kommentare vor ihm versteckt."

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Danke für den Tipp
              Aber irgendwie muss heute nicht mein Tag sein, wenn ich genau das Beispiel nehme wie im Tutorial also:

              /* <![CDATA[ */
                /* JavaScript-Kommentar: jetzt folgt ein kleines Script */
                if (parseInt(navigator.appVersion) < 5)
                  alert("Oh, ein sehr alter Browser");
                /* und damit ist das Script auch schon zu ende */
              /* ]]> */

              bekommeich den Fehler:
              Fehler: missing ) after condition
              Quelldatei: file://
              Zeile: 46, Spalte: 40
              Quelltext:
                if (parseInt(navigator.appVersion) &lt; 5)

              Irgendwie bin ich überfragt?

              Martin

              1. hi,

                bekommeich den Fehler:
                Fehler: missing ) after condition
                Quelldatei: file://
                Zeile: 46, Spalte: 40
                Quelltext:
                  if (parseInt(navigator.appVersion) &lt; 5)

                Mich wundert, dass hier - wie auch im vorigen Posting - in der Anzeige der fehlerhaften Stelle das kleiner als-Zeichen immer noch als &lt; dargestellt wird - kann es sein, dass du beim Abspeichern in deinem Editor immer noch eingestellt hast, dass er HTML-Sonderzeichen als Entities kodieren soll ...?

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Hi,

                  nee denke ich nicht, den im IE gehts ja komischerweise.

                  Danke Martin

                  1. Moin

                    nee denke ich nicht, den im IE gehts ja komischerweise.

                    das muss nix heißen!
                    Prüf doch einfach mal die Datei!

                    Gruß
                    rfb

                    1. Hallo,

                      nee das ist es leider auch nicht, bin auch ein wenig irritiert!

                      Martin

                      1. hi,

                        nee das ist es leider auch nicht, bin auch ein wenig irritiert!

                        Dann stelle bitte eine Online-Beispiel zur Verfügung.

                        gruß,
                        wahsaga

                        --
                        /voodoo.css:
                        #GeorgeWBush { position:absolute; bottom:-6ft; }
              2. Tach Martin K.,

                Quelltext:
                  if (parseInt(navigator.appVersion) &lt; 5)

                Wenn ein Inhalt mit Kleiner-als-Zeichen innerhalb eines generierten CDATA-Abschnitts ausgegeben werden soll, dann verwende im XSL-Code diese Schreibweise:

                  
                <xsl:text disable-output-escaping="yes">// &lt;![CDATA[  
                if (parseInt(navigator.appVersion) &lt; 5)...  
                // ]]></xsl:text>
                

                Ausgabe:

                  
                // <![CDATA[  
                if (parseInt(navigator.appVersion) < 5)...  
                // ]]>
                

                Man liest sich,
                svg4you