_gaq非同步使用使用倒閉
var _gaq = _gaq || [];
script標籤將需要什麼來支持這個在封閉加分析異步請求中。
即
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不公開,我猜這是行不通的。任何解決方法?如果在全球範圍內,這將這樣的伎倆執行
(function (window) {
var g = window._gaq || (window._gaq = []);
g.push(['_setAccount', 'UA-XXXXX-X']);
g.push(['_trackPageview']);
})(this);
:
函數'window'的內部將是'undefined',當'window._gaq'屬性被訪問時會導致'TypeError'異常。 'call'的第一個參數被用作被調用函數中的'this'值,'window'參數沒有被提供。 – CMS 2010-09-01 23:41:41
由於'window'變量已經綁定到你想要的,儘管在範圍鏈上更高,你最好不要離開函數。 – 2010-09-02 01:42:32
CMS:你是完全正確的,我知道'call'是什麼;只是一個心理模糊。丹尼爾:主要是我將它傳入,以便您可以在非瀏覽器託管的環境中使用它。當然,我不知道你爲什麼試圖在非瀏覽器託管的環境中跟蹤瀏覽量,但不要以爲全局對象是「窗口」,這是一個好習慣。 – 2010-09-02 14:21:45