Sto tentando di aggiungere la versione asincrona del codice di monitoraggio di Google Analytics a un sito Web.Utilizzo del codice asincrono di Google Analytics da file JS esterno
Mi piacerebbe mantenere il codice JavaScript in un file separato e chiamarlo da lì.
Ecco quello che ho attualmente avuto nel mio file .js:
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
function loadtracking() {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
addLoadEvent(loadtracking);
Ed ecco quello che ho nel <head>
tag della mia pagina Master:
<script type="text/javascript" src="js/google-analytics.js" ></script>
Tuttavia, c'è ovviamente un problema come dopo pochi giorni, non sto ottenendo statistiche attraverso!
Qualche idea di cosa ho bisogno di cambiare?
Grazie, Neil
EDIT: Ok ... Dopo un po 'di feedback di seguito, ho intenzione di aggiungere i nuovi contenuto corrente del mio file .js. Lo terrò aggiornato in modo che se/quando questo venga risolto, si spera che possa aiutare altre persone a provare a fare cose simili.
var _gaq = _gaq || [];
function loadtracking() {
window._gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
window._gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
loadtracking();
Questo problema ha risolto il problema? Sto incontrando lo stesso problema, sebbene avessi il mio var _gaq definito globalmente nel file .js. Grazie. –
Per quanto mi ricordo, sì lo ha fatto. Per essere onesti, per la maggior parte delle applicazioni, suggerirei di seguire il consiglio seguente e di inserire il codice direttamente nel documento ... Era un requisito per questo specifico progetto che fosse in un file separato, che può essere o non essere il caso con te. – NeilD
Ho letto un sacco di thread simili su SO e ho visto persone dire che non c'è alcun problema al di fuori di un possibile leggero ritardo nel caricare la sceneggiatura, mentre altri hanno detto che mi rovinerà la vita e mi condannerò all'inferno. Ho bisogno che passi i valori dif in base alla pagina visualizzata e desideri mantenere le modifiche al codice in un singolo file piuttosto che su ogni pagina del sito web.Sembra funzionare bene, ma se riesci a ricordare eventuali problemi hai incontrato, fammi sapere. Apprezzalo. –