Я пытаюсь добавить асинхронную версию кода отслеживания Google Analytics на веб-сайт.
Я хотел бы оставить JavaScript в отдельном файле и называть его оттуда.
Вот что я получил в моем .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);
И вот что я получил в теге <head>
моей главной страницы:
<script type="text/javascript" src="js/google-analytics.js" ></script>
Однако, очевидно, проблема, так как через несколько дней я не получаю статистику!
Любые идеи, что мне нужно изменить?
Спасибо, Нил
EDIT: Хорошо... После некоторой обратной связи ниже я собираюсь добавить новое текущее содержимое моего .js файла. Я буду держать его в курсе, чтобы, если/когда это будет решено, он, надеюсь, поможет другим людям, пытающимся сделать подобные вещи.
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();