我有一个默认页面和一个母版页,我正在添加谷歌分析标签。但是,这些页面由不同的内容页面使用。因此,当我将标记添加到内容页面上的两个页面时,它会被添加两次。
如何检查标签是否已经存在,然后不加载其中的一个标签?
这是我的代码
 <script>
(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],
    j=d.createElement(s),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-XXXX');</script>因此,例如,如果一个测试页同时使用默认和母版页HTML,那么它应该只向测试页添加一次Google标记。目前,它被添加了两次。我如何才能做到这一点?
发布于 2019-04-25 23:19:48
window.dataLayer在运行一次之后就会存在,所以您可以将上面的代码包装在一个if中
if(window.dataLayer) {
    (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],
        j=d.createElement(s),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-XXXX');
}https://stackoverflow.com/questions/55852511
复制相似问题