DataLayer.push无法在外部JavaScript上工作
如果我们在外部JavaScript中使用dataLayer.push和GTM代码,那么dataLayer.push值不会触发 如果我们在HTML中使用dataLayer.push和GTM代码,那么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
$(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容器片段之后引用此文件