检测并加载谷歌分析(如果尚未加载),如果已加载则跳过

时间:2013-12-26 19:16:03

标签: javascript jquery google-analytics

我有一个包含谷歌分析加载代码的JavaScript小部件。在html页面上已经存在谷歌分析加载代码,其中javascript将会存在。 ga.js文件加载两次,由于多次加载ga.js,跳出率已降至不到1%。

是否有javascript解决方案我可以检查页面是否已加载ga.js然后跳过javascript小部件文件中的加载并加载ga.js(如果它尚未加载?)

这是我正在使用的代码,但即使页面已经有ga.js,它似乎也会再次加载ga.js.

注意:包含以下代码的javascript小部件在document.ready调用中加载,并且google分析加载代码存在于html页面的head标记内。

function loadtracking() {
    window._gaq.push(['_setAccount', 'UA-XXX']);
    window._gaq.push(['_setDomainName', window.location.hostname]);
    window._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') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
}

if(window._gat && window._gat._getTracker && typeof _gat != 'undefined'){//if site already has google analytics loaded
    var _gaq = _gaq || [];
    window._gaq.push(['_setAccount', 'UA-43609253-2']);
    window._gaq.push(['_setDomainName', window.location.hostname]);
}else{ //if site DOES NOT have google analytics loaded
    var _gaq = _gaq || [];
    loadtracking(); 
}

0 个答案:

没有答案