Javascript 数据层获取自
Javascript DataLayer Fetch from
我想从我的 HTML 代码中提取数据到我的数据层(Google 标签管理器)。
html 代码是这样的:
<body class="portal sessions" data-place="hun">...</body>
而 Javascript 代码是这样的:
<script type="text/javascript">
var lang_log = document.getElementsByClassName("portal");
dataLayer.push({
"language_login":lang_log
})
</script>
我会尝试将 lang_log 变量赋给 "hun" 值,然后我会尝试:
<script type="text/javascript">
var lang_log = document.getElementsByClassName("portal")['data-place'];
dataLayer.push({
"language_login":lang_log
})
</script>
但它不起作用。
有什么想法吗?
感谢任何帮助或建议,提前致谢。
找到解决方案:
JS 应该是:
<script type="text/javascript">
var lang_log = document.getElementsByTagName("body")[0].getAttribute("data-locale");
dataLayer.push({
"language_login":lang_log
})
</script>
仍在调查为什么第一个版本不起作用!
document.getElementsByClassName("portal")
returns 类似数组的元素集合。
您可以使用 document.getElementsByClassName("portal")[0]
获取此集合的第一个元素。
至access the data attribute,使用document.getElementsByClassName("portal")[0].dataset.place
。
var AdataLayer = [];
var lang_log = document.getElementsByClassName("portal")[0].dataset.place;
AdataLayer.push({
"language_login":lang_log
})
console.log(AdataLayer);
console.log(AdataLayer[0].language_login);
<body class="portal sessions" id="portal" data-place="hun">...</body>
我想从我的 HTML 代码中提取数据到我的数据层(Google 标签管理器)。
html 代码是这样的:
<body class="portal sessions" data-place="hun">...</body>
而 Javascript 代码是这样的:
<script type="text/javascript">
var lang_log = document.getElementsByClassName("portal");
dataLayer.push({
"language_login":lang_log
})
</script>
我会尝试将 lang_log 变量赋给 "hun" 值,然后我会尝试:
<script type="text/javascript">
var lang_log = document.getElementsByClassName("portal")['data-place'];
dataLayer.push({
"language_login":lang_log
})
</script>
但它不起作用。 有什么想法吗?
感谢任何帮助或建议,提前致谢。
找到解决方案:
JS 应该是:
<script type="text/javascript">
var lang_log = document.getElementsByTagName("body")[0].getAttribute("data-locale");
dataLayer.push({
"language_login":lang_log
})
</script>
仍在调查为什么第一个版本不起作用!
document.getElementsByClassName("portal")
returns 类似数组的元素集合。
您可以使用 document.getElementsByClassName("portal")[0]
获取此集合的第一个元素。
至access the data attribute,使用document.getElementsByClassName("portal")[0].dataset.place
。
var AdataLayer = [];
var lang_log = document.getElementsByClassName("portal")[0].dataset.place;
AdataLayer.push({
"language_login":lang_log
})
console.log(AdataLayer);
console.log(AdataLayer[0].language_login);
<body class="portal sessions" id="portal" data-place="hun">...</body>