Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DataLayer.push无法在外部JavaScript上工作_Javascript_Jquery_Google Analytics_Analytics - Fatal编程技术网

DataLayer.push无法在外部JavaScript上工作

DataLayer.push无法在外部JavaScript上工作,javascript,jquery,google-analytics,analytics,Javascript,Jquery,Google Analytics,Analytics,如果我们在外部JavaScript中使用dataLayer.push和GTM代码,那么dataLayer.push值不会触发 如果我们在HTML中使用dataLayer.push和GTM代码,那么dataLayer.push值将按预期触发 下面是我们在外部JavaScript中使用的代码 如果有任何疑问,请告知我们 $(document).ready(function() { window.dataLayer = window.dataLayer || []; function

如果我们在外部JavaScript中使用dataLayer.push和GTM代码,那么dataLayer.push值不会触发

如果我们在HTML中使用dataLayer.push和GTM代码,那么dataLayer.push值将按预期触发

下面是我们在外部JavaScript中使用的代码

如果有任何疑问,请告知我们

$(document).ready(function() {
    window.dataLayer = window.dataLayer || [];

    function getMetaContent(name) {
        name = document.getElementsByTagName('meta')[name];
        if (name != undefined) {
            name = name.getAttribute("content");
            if (name != undefined) {
                return name;
            }
        }
        return "";
    }
    var countryLanguage = getMetaContent('countryLanguage');
    var pageType = getMetaContent('pageType');
    var audiencePage = getMetaContent('audiencePage');
    var userlogin = "";

    if (localStorage.getItem("login") !== null) {
        userlogin = "identifié";
    } else {
        userlogin = "Non identifié";
    }
    console.log("start");

    window.dataLayer.push({

        'countryLanguage': 'english',
        'pageType': pageType

    });
    console.log("end");

    universal_variable = {
        "page": window.dataLayer
    };

});

你在这篇文章中并没有提出任何问题,尽管如此,我想我能帮上忙,因为我自己也有这个问题

我所做的是将我的GTM容器片段放在一个单独的
.js
文件中,并在所讨论的HTML文件的
标签附近引用它

然后在另一个JS文件中使用:

dataLayer.push({'var_name': 'value'});

确保这个文件是在带有GTM容器片段的JS文件之后引用的。

你在这篇文章中并没有提出任何问题,尽管如此,我想我可以帮助你,因为我自己也有这个问题

我所做的是将我的GTM容器片段放在一个单独的
.js
文件中,并在所讨论的HTML文件的
标签附近引用它

然后在另一个JS文件中使用:

dataLayer.push({'var_name': 'value'});
确保在JS文件和GTM容器片段之后引用此文件