При использованиииспользование _gaq асинхронный в затворах
var _gaq = _gaq || [];
внутри тега сценария, что было бы необходимо, чтобы поддержать это в затворе, чтобы добавить аналитику запросов асинхронных.
т.е.
experiment = (function(){
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
var nobody_knows_this_var_is_here = "cant see me";
});
если _gaq еще не определена она сможет найти этот массив для выполнения пунктов толкнул на него, как только он будет готов. поскольку _gaq var не является общедоступным, я предполагаю, что это не сработает. Любые обходные пути?
Внутри функции 'window' будет' undefined', что вызовет исключение 'TypeError', когда будет доступно свойство' window._gaq'. Первый аргумент 'call' используется как значение' this' внутри вызываемой функции, аргумент 'window' не предоставляется. – CMS
Вам лучше оставить функцию без аргументов, поскольку переменная 'window' уже привязана к тому, что вы хотите, хотя и выше по цепочке областей. –
CMS: Вы совершенно правы, и я знаю, что делает 'call'; просто умственное размытие. Даниэль: в основном я передаю его, чтобы вы могли использовать его в среде, не поддерживающей браузер. Конечно, я не знаю, почему вы пытаетесь отслеживать просмотры страниц в среде, отличной от браузера, но это хорошая привычка не предполагать, что глобальный объект является «окном». –