是否有可能把谷歌分析代码在外部JS文件?(Is it possible to put Google

2019-07-30 06:02发布

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

try 
{
    var pageTracker = _gat._getTracker("UA-XXXXXXX-1");
    pageTracker._trackPageview();
}
catch(err) {}

有没有可能从外部JS文件中调用这个脚本? 我想要的东西,如:

<script type="text/javascript" src="googleanalytics.js" ></script>

并把其中的一个对我的每一个HTML页面。
我上面的代码将里面googleanalytics.js
谷歌的说明是把代码中的每一页。 但问题是,这样不容易改变的跟踪代码。 (我们使用不同的跟踪代码为我们的DEV和PROD页)。
我已经尝试过了,它似乎并没有工作。
是不是有什么错这样做? 还是有别的东西导致的吗?

重要仅供参考请注意,我们使用的是IE6和8个浏览器(是的,我知道,没有必要告诉我)

Answer 1:

是的,这是可能的。 如果它不工作,然后有别的事情上。

只是一个想法,谷歌Analytics(分析)通常是约每天的报告,以便后面,当你做出改变,你知道这是工作之前还需要一段时间。 我喜欢做的是打了一个页面,没有得到交通经常向我保证我有我的追踪设定正确的东西。

另外,你可以尝试做链接,在一个绝对链接<script标签。 它可能只是找错了地方的分析代码。



Answer 2:

你能不能在每个页面的底部使用你的服务器端语言输出的代码? 有一个函数,如output_ga()和调用。 这样,你可以在一个地方进行更改。



Answer 3:

我碰到这个帖子来试图解决一个类似的问题。 进一步搜索后,我遇到了另一篇文章,对我的工作:

从外部JS文件中使用谷歌Analytics(分析)异步代码

我不得不搬到了var _gaq它在功能之外,使其成为全球性的。

希望这可以帮助!



Answer 4:

如果你把这个脚本到2个脚本的方式相同谷歌分析划分了传统的脚本到2个脚本标记这将工作。



Answer 5:

我有一个简单的方法来做到这一点...由于分析的js是异步它不会给任何问题...

包括以下任何js文件的代码(请注意:我使用的代码是由谷歌分析提供新的分析代码)

 var imported = document.createElement('script'); imported.src = 'https://www.googletagmanager.com/gtag/js?id=UA-12xxxxxxx-1'; document.head.appendChild(imported); window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-12xxxxxxx-1'); 



Answer 6:

总结谷歌代码到功能,并执行每一页上;)



Answer 7:

@Nikko

一个可能的原因是因为GA帐户是使用旧的分析创建。 所以,你必须使用传统的分析代码的ga.js(_gaq.push)。 我在使用与在GA网站传统的GA帐户新的analytics.js发现不兼容。 命中将不会出现,所以我被迫使用传统的ga.js中

此外,您还可以设置一个回调函数,以保证命中发送成功,如下图所示:

//traditional way
_gaq.push(['_set', 'hitCallback', function() {
  console.log("%c ga.js finished sending pageview data to analytics %s ", "color:black; background: pink", pageviewUrl);
}]);

//new analytics way
ga('send', 'pageview', {
            'page': pageviewUrl,
            'hitCallback': function() {
                console.log("%c analytics.js done sending data. pageview url = %s ", "color: black, background: pink", pageviewUrl);
            }
        });

其中pageviewUrl =该网站的网址

希望帮助!



Answer 8:

上传谷歌分析动态:

function loadGoogleAnalytics(){
    var ga = document.createElement('script'); 
    ga.type = 'text/javascript'; 
    ga.async = true;
    ga.src = 'https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-XX';

    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);
}

loadGoogleAnalytics(); //Create the script  

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'UA-XXXXXX-XX');

不要忘记您的帐户ID替换XXXXXX-XX。



文章来源: Is it possible to put Google Analytics code in an external JS file?