在闭包中使用_gaq asynch

cla*_*aya 4 javascript closures google-analytics

使用时

var _gaq = _gaq || [];
Run Code Online (Sandbox Code Playgroud)

在脚本标记内,在闭包中支持此操作以添加分析异步请求.

experiment = (function(){
          var _gaq = _gaq || [];
          _gaq.push(['_setAccount', 'UA-XXXXX-X']); 
          _gaq.push(['_trackPageview']); 
          var nobody_knows_this_var_is_here = "cant see me";
        });
Run Code Online (Sandbox Code Playgroud)

如果_gaq尚未定义,它将能够找到此数组,以便在准备好后执行推送到它的项目.因为_gaq var不公开,我猜它不起作用.任何解决方法?

Ant*_*lls 5

你可以这样做:

(function (window) {
    var g = window._gaq || (window._gaq = []);
    g.push(['_setAccount', 'UA-XXXXX-X']);
    g.push(['_trackPageview']);
})(this);
Run Code Online (Sandbox Code Playgroud)

如果在全局范围内执行,这将起到作用.