keinBlase: Fehler in JS

Hallo Zusammen

Im IE bekomme ich bei folgender Zeile einen Fehler:

    <script type="text/javascript">  
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");  
document.write(unescape("%3Cscript src='" + gaJsHost + "googleanalytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));  
</script>

Komisch ist, dass dies der Orginal Script von Google ist. Ich denke das Problem ist bei
document.write(unescape("%3Cscript src='" + gaJsHost + "googleanalytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Ich tippe auf src='" + gaJsHost +

Was ist hier falsch? Kann mir jemand helfen, verstehe es nicht.

P.s. nur der IE zeigt den Fehler an, firefox sagt es sei alles ok.

Gruss und thx

  1. Der IE neigt häufig dazu, die Fehlerzeilen an den falschen Stellen anzugeben. Suche in der näheren Umgebung bzw. auch in extern eingebundenen Dateien.

    Gruß, LX

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a
  2. Hallo keinBlase,

    ersetz mal document.write durch alert, damit du siehst, wie die Zeile aussieht. Warum benutzt du unescape und %3c und nicht direkt <?

    Gruß, Jürgen

  3. Liebe(r) keinBlase,

    Du hast wahrscheinlich ein Enkodierungsproblem.

    <script type="text/javascript">

    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");

      
    Probiere das Ganze doch mal so:  
    `<script type="text/javascript">`{:.language-html}~~~javascript
    //<![CDATA[  
      
    // Wir verhindern ungewollte globale Variablen durch eine geklammerte anonyme Funktion:  
    (function () {  
        // script-Element erzeugen  
        var s = document.createElement("script");  
        s.type = "text/javascript";  
        s.src = ("https:" == document.location.protocol ? "https://ssl." : "http://www.")  
            + "googleanalytics.com/ga.js";  
      
        // script-Element in head-Element einpflanzen  
        document.getElementsByTagName("head")[0].appendChild(s);  
    }  
    // anonyme Funktion sofort ausführen:  
    )();  
      
    //]]>
    ~~~`</script>`{:.language-html}  
      
    Habe das auf die Schnelle jetzt nicht getestet, denke aber, dass das so tun sollte. Besser fände ich's, wenn Du diesen Code in eine externe JS-Datei auslagerst, um ihn dann über <script src="..."> einzubinden. Das macht vieles sicherer. Und dass der Google-Code suboptimal ist, brauche ich Dir sicher nicht zu erklären.  
      
    Liebe Grüße,  
      
    Felix Riesterer.
    
    -- 
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    
  4. Hi,

    Im IE bekomme ich bei folgender Zeile einen Fehler:

    Zitat #1753

    Von "einem Fehler" zu reden, ohne die Meldung zu zitieren, ist unclever.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]