如何获取 Google Analytics 全局函数名称?

How to get the Google Analytics global function name?

大家好超级google分析摇滚明星,

如何从安装脚本中重命名 google 分析全局函数名称。

例如:

 (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();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','__gaTracker');

我想获取重命名(或其他名称)的“__gaTracker”函数名称。

只需设置上下文,我们就有一个在客户网站上运行并将事件发送到 google 分析的脚本。有时他们有 "ga" 函数,我们调用 ga('send'...) 但如果他们重命名它,我们需要调用(例如)__gaTracker('send'...).

有什么方法可以获取重命名的全局函数。

提前致谢!!!!

可以通过window['GoogleAnalyticsObject'];访问,它会给你GLOBAL变量名。希望这就是您想要的。

只需执行 F12 并将您的代码粘贴到此处的控制台中,您将看到 SO 全局函数名称,

console.log(window['GoogleAnalyticsObject'];) // ouputs ga

无法 return "ga" 字符串(在您的情况下)。如果是,您必须使用新的默认加载程序覆盖 GoogleAnalyticsObject 启动。 Arniban N 先生是对的。

Google 建议同时使用 "GoogleAnalyticsObject" 和 "ga" 变量进行 GA 跟踪器查找:

// © Google Inc.
// This function works even if the site  
// has customized the ga global identifier. 
var ga = window[window['GoogleAnalyticsObject'] || 'ga'];

Full example on developers.google.com