2009-08-03 4 views
10

Der Code, der Ihnen eine Web-Seite mit Google Analytics hinzufügen müssen verfolgen wie folgt aussieht:Was ist der Vorteil der Verwendung von unescape in document.write, um JavaScript zu laden?

<script type="text/javascript"> 
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
</script> 
<script type="text/javascript"> 
try { 
var pageTracker = _gat._getTracker("UA-XXXXX"); 
pageTracker._trackPageview(); 
} catch(err) {}</script> 

Was der Vorteil ist diese Linie zu tun:

document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 

gegen diese Linie:

document.write("<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'><\/script>"); 

Ich schrieb etwas Code, der etwas ähnliches tut (Laden Sie Javascript "via" Dokument schreiben), aber es verwendet nicht unescape und ich frage mich, ob ich follo folgen sollte w das Google-Analytics-Beispiel.

Antwort

13

Es bedeutet, dass der Code in XML/XHTML und HTML ohne mit CDATA zu Chaos mit

+1

arbeiten Wäre es in Ordnung sein document.write zu verwenden ("\ x3Cscript src = '" + gaJsHost + "google-analytics. com/ga.js 'type =' text/javascript '\ x3E \ x3C/script \ x3E "); – TJR

+0

Ich fand 'http: // www.w3schools.com/xml/xml_cdata.asp' eine gute Lese – Philip007

0

Nun, ein Vorteil ist, dass Sie sich keine Sorgen über Anführungszeichen innerhalb des geladenen Skripts machen müssen, die die Anführungszeichen in Ihrem Skript stören, da die geladenen Skripte mit Escapezeichen versehen werden können.