Я делаю много виджетов javascript. В рамках этих виджетов мы часто используем Google Analytics для отслеживания действий внутри виджета. Упрощенный, что я делаю:Как узнать, загружена ли Google Analytics
var setupGA = function(){ window._gaq.push(['_setAccount', 'UA-###']); };
if(window._gaq){
setupGA();
} else {
this.loadScript(GOOGLE_ANALYTICS_PATH, function(){
var waitga = setInterval(function(){
if(window._gaq){
clearInterval(waitga);
setupGA();
}
}, 500);
});
}
Где GOOGLE_ANALYTICS_PATH мой локальный путь к файлу и loadScript является пользовательский метод, чтобы загрузить скрипт и выполнить обратный вызов.
Когда Google обновляет свою библиотеку аналитики (теперь analytics.js), старые методы обеспечения загрузки библиотеки аналитики больше не работают. example code for google analytics предоставляет глобальный объект ga, но этот объект может иметь собственное имя. С проверкой старой очереди мне интересно, как лучше всего проверить наличие версий аналитики google analytics.js или ga.js (я могу пропустить очень старые типы отслеживания Urchin).
Это должно быть что-то вроде:
var setupGA = function(){ window._gaq.push(['_setAccount', 'UA-###']); };
if(window._gaq && !window.**ga**){
setupGA();
} else {
this.loadScript(GOOGLE_ANALYTICS_PATH, function(){
var waitga = setInterval(function(){
//_gaq will always be loaded for now
if(window._gaq){
clearInterval(waitga);
setupGA();
}
}, 500);
});
}
Где га является то, что глобальный элемент я могу проверить. Я полагаю, что это то, что я ищу
Я буквально только что сделал это сегодня утром на пару маленькие гаджеты, которые я сделал. Я просто скопировал тот же самый код Google Analytics, который я использую на остальной части моего сайта в файле .js. Аналитика сообщает о деятельности на любой странице, на которой появляется гаджет, даже на внешних доменах. Это именно то, что я хотел. – durbnpoisn
Чтобы уточнить, пытаетесь ли вы отслеживать статистику использования вашего виджета, пока он работает на сайтах других людей? –
Отчетность не является проблемой даже при проверке загрузки аналитики. Если мой клиент загружает analytics.js, и я проверяю window.gaq, я не нахожу его и сделаю дополнительный запрос для другой версии. Это не так просто, как проверка ga, потому что клиент может (и делает) называть объект Google Analytics тем, что им нужно. – user1026361