如何修复“ gtm”是IE9中的未定义错误?

时间:2019-05-22 23:47:21

标签: javascript internet-explorer google-tag-manager

我正在使用Google跟踪代码管理器将一些通用脚本粘贴到我的项目中,并且我需要它能够运行IE9。

但是当我尝试在浏览器中执行脚本时,出现以下错误:

  

SCRIPT5009:'gtm'未定义

这是脚本(已编辑的敏感数据)的细分类。

(function(w,d,s,l,i){
    w[l]=w[l]||[];
    w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
    var f=d.getElementsByTagName(s)[0];
    var j=d.createElement(s);
    var dl=l!='dataLayer'?'&l='+l:'';
    j.async=true;
    j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
    f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-xxxxxxx'); 

我了解IE9不支持此功能:

w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});

但是,我想知道是否存在针对此问题的解决方法。我一直在寻找答案,但没有发现任何帮助。

1 个答案:

答案 0 :(得分:0)

我不确定您从该代码块中删除了什么,但是无论是什么,似乎都在抛出该错误。 “ gtm”对我来说是未定义的,好像您在脚本中调用了一个设置为“ gtm”的变量一样。您发布的代码块仅在字符串中引用了“ gtm”。