Javascript 自定义GA对象名称在FF和IE中似乎被忽略

Javascript 自定义GA对象名称在FF和IE中似乎被忽略,javascript,google-analytics,google-optimize,Javascript,Google Analytics,Google Optimize,我的代码类似于下面的代码,在Chrome上运行良好。在FF和IE上,变量不显示。如果我将GA对象名称更改回GA,则效果良好。但是,为了防止碰撞,这是必要的。有人知道为什么优化/分析代码不尊重FF和IE上的更改吗 <!-- Google Optimize Page hiding code --> <style>.async-hide { opacity: 0 !important} </style> <script>(function(a,s,y,n

我的代码类似于下面的代码,在Chrome上运行良好。在FF和IE上,变量不显示。如果我将GA对象名称更改回GA,则效果良好。但是,为了防止碰撞,这是必要的。有人知道为什么优化/分析代码不尊重FF和IE上的更改吗

<!-- Google Optimize Page hiding code -->
<style>.async-hide { opacity: 0 !important} </style>
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
  h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
  (a[n]=a[n]||[]).hide=h;setTimeout(function()
  {i();h.end=null},c);h.timeout=c;
  })(window,document.documentElement,'async-hide','dataLayer',4000,
  {'GTM-XXXXXXX':true});</script>
<!-- End Google Optimize Page hiding -->

<!-- Google Analytics -->
<script>
  (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','https://www.google-analytics.com/analytics.js','customName');
  customName('create', 'UA-XXXXXXXX-X', 'auto');
  customName('require', 'GTM-XXXXXXX');
  customName('send', 'pageview');
</script>
<!-- End Google Analytics -->

.async hide{不透明度:0!重要}
(函数(a,s,y,n,c,h,i,d,e){s.className+=''+y;h.start=1*新日期;
h、 end=i=function(){s.className=s.className.replace(RegExp('?'+y),'');
(a[n]=a[n]| |[]).hide=h;setTimeout(函数()
{i();h.end=null},c);h.timeout=c;
})(窗口,document.documentElement,'async-hide','dataLayer',4000,
{'GTM-XXXXXXX':true});
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新
日期();a=s.createElement(o),
m=s.getElementsByTagName(o)
[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口、文档、“脚本”和https://www.google-analytics.com/analytics.js","客户名称",;
customName(“创建”、“UA-XXXXXXXX-X”、“自动”);
客户名称('require','GTM-XXXXXXX');
customName('send','pageview');

解决方案不是将命令队列从
ga
重命名为
customName
。如果存在以下问题,则应为不同的跟踪对象提供名称:

// create different named trackers
ga('create', 'UA-XXXX-X', 'auto', 'customName');
ga('create', 'UA-XXXX-Y', 'auto', 'customName2');

// customeName requiring GTM
ga('customName.require', 'GTM-XXXXX');

// customName send pageview
ga('customName.send', 'pageview');

// customName2 send pageview
ga('customName2.send', 'pageview');

(cf.)

你说的是什么类型的“碰撞”?代码中是否还有另一个名为“ga”的参数@Pete,我相信OP是指用于命令队列的“customName”名称。自定义名称是用于GA对象的。页面上有多个GA跟踪对象(我无法控制),因此我尝试创建一个自定义对象名。对于解决方案,我将尝试使用自定义名称空间,但FF和IE不允许自定义对象名称,这很奇怪,我想找出原因。这是我正在使用的解决方案。不过,我应该也能使用a。这在Chrome中运行良好,但在FF或IE中不起作用。啊,好吧,你有没有尝试过只给跟踪器一个名称而不是重命名对象本身?如果您只是对这个特定的对象感兴趣,那么不是所有的对象都需要重命名。我不知道为什么它不能在FF或IE上工作。是的,它确实解决了变体问题。我将不得不等到跟踪可以完全测试,以确保它将是一个有效的解决办法。