Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
延迟加载Google Analytics Javascript代码并在自己的服务器上托管Analytics.js_Java_Performance_Google Analytics - Fatal编程技术网

延迟加载Google Analytics Javascript代码并在自己的服务器上托管Analytics.js

延迟加载Google Analytics Javascript代码并在自己的服务器上托管Analytics.js,java,performance,google-analytics,Java,Performance,Google Analytics,下面的代码是谷歌推荐的。我将代码放在我的footer.php中,就在标记之前(靠近文件底部),以延迟调用defer-loading.js,然后加载我的自托管analytics.js代码(myga.js文件) 这段代码表示等待整个文档加载,然后加载外部文件“defer load.js” 附加说明:为了保持myga.js(analytics.js)代码的更新,我在服务器上使用了每日cron。它从Google下载analytics.js并替换我服务器上的旧版本。这部分很好用 不幸的是,我的defer-

下面的代码是谷歌推荐的。我将代码放在我的footer.php中,就在
标记之前(靠近文件底部),以延迟调用defer-loading.js,然后加载我的自托管analytics.js代码(myga.js文件)

这段代码表示等待整个文档加载,然后加载外部文件“defer load.js”

附加说明:为了保持myga.js(analytics.js)代码的更新,我在服务器上使用了每日cron。它从Google下载analytics.js并替换我服务器上的旧版本。这部分很好用

不幸的是,我的defer-loading.js文件中的新的谷歌通用跟踪代码没有跟踪访问

为了找到错误,我在defer-loading.js中使用了以下旧的Google Analytics跟踪代码,它运行良好

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'Uxxx-xx-xxx']);
_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') + '.mydomainname.com/myga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
使用firebug,我意识到以下文件(1px/1px)只加载了旧的(工作)Google Analytics代码版本。新的代码不会加载此文件-但其他一切似乎都正常

http://www.google-analytics.com/r/__utm.gif?................
你知道为什么新的Google Analytics通用跟踪代码不起作用吗?

以下是解决方案:


如果您不喜欢使用冗长的变量名,请至少添加一条关于isogram变量的注释。@s3c,这是强大的分析代码。啊,是的。。一年前我还不知道。请原谅。
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'Uxxx-xx-xxx']);
_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') + '.mydomainname.com/myga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
http://www.google-analytics.com/r/__utm.gif?................
(function(i, s, o, g, r, a, m) {
    i['GoogleAnalyticsObject'] = r;
    i[r] = i[r] || function() {
        (i[r].q = i[r].q || []).push(arguments)
    }, i[r].l = 1 * new Date();
    i.initAnalytics = function() {
        a = s.createElement(o), m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    }
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-000000-0');
ga('send', 'pageview');

function atOnload() {
    initAnalytics();
}
if (window.addEventListener) window.addEventListener("load", atOnload, false);
else if (window.attachEvent) window.attachEvent("onload", atOnload);
else window.onload = atOnload;