Ich versuche, die asynchrone Version des Google Analytics-Tracking-Codes zu einer Website hinzuzufügen.Verwenden von Google Analytics asynchronem Code aus der externen JS-Datei
Ich möchte das JavaScript in einer separaten Datei speichern und von dort aufrufen.
Hier ist, was ich zur Zeit in meiner JS-Datei habe:
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);
Und hier ist es, was ich in dem <head>
Tag meiner Master-Seite habe:
<script type="text/javascript" src="js/google-analytics.js" ></script>
Allerdings gibt es Offensichtlich ein Problem, da ich nach ein paar Tagen keine Statistiken bekomme!
Irgendwelche Ideen, was ich ändern muss?
Danke, Neil
EDIT: Ok ... Nach einigem Feedback unten, ich werde den neuen aktuellen Inhalt meiner Js-Datei hinzuzufügen. Ich werde es auf dem neuesten Stand halten, damit es, wenn es gelöst wird, anderen Menschen hoffentlich hilft, ähnliche Dinge zu tun.
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();
Konnte das Ihr Problem lösen? Ich laufe auf das gleiche Problem, obwohl ich mein var _gaq global in der .js-Datei definiert hatte. Vielen Dank. –
Soweit ich mich erinnere, ja, tat es. Um ehrlich zu sein, schlage ich für die meisten Anwendungen vor, den folgenden Ratschlägen zu folgen und den Code direkt in das Dokument zu schreiben ... Es war eine Voraussetzung für dieses spezielle Projekt, dass es in einer separaten Datei war, die es sein könnte oder auch nicht der Fall mit dir. – NeilD
Ich habe viele ähnliche Threads auf SO gelesen und habe Leute gesehen, die sagen, dass es nichts anderes gibt als eine mögliche leichte Verzögerung beim Laden des Skripts, während andere gesagt haben, dass es mein Leben ruinieren und mich in die Hölle verurteilen wird. Ich brauche es, um dif-Werte basierend auf der angezeigten Seite zu übergeben, und möchte Code-Änderungen in einer einzigen Datei statt auf jeder Seite der Website beibehalten.Es scheint gut zu funktionieren, aber wenn Sie sich an irgendwelche Probleme erinnern können, die Sie kennengelernt haben, lassen Sie es mich wissen. Bin dankbar. –