2009-08-03 13 views
10

Il codice che si deve aggiungere per tracciare una pagina web con Google Analytics si presenta come:Qual è il vantaggio dell'uso di unescape su document.write per caricare javascript?

<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> 

Qual è il vantaggio di fare queste righe:

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

contro queste righe:

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

Ho scritto un codice che fa qualcosa di simile (carica javascript "via" documento scritto) ma non usa unescape e mi chiedo se dovrei follo w l'esempio di google-analytics.

risposta

13

indica che il codice funziona in XML/XHTML e HTML senza dover pasticciare con CDATA

+1

sarebbe ok per utilizzare document.write ("\ x3Cscript src = '" + gaJsHost + "Google-Analytics. com/ga.js 'type =' text/javascript '\ x3E \ x3C/script \ x3E "); – TJR

+0

Ho trovato 'http: // www.w3schools.com/xml/xml_cdata.asp' una buona lettura – Philip007

0

Bene, un vantaggio è che significa che non devi preoccuparti delle virgolette all'interno dello script che viene caricato interferendo con le virgolette nel tuo script che sta facendo il caricamento (dal momento che quelli nello script caricato possono essere sfuggiti).

Problemi correlati