我需要读取特定页面上的所有元标记,并将每个元名称和内容值存储在将用于谷歌标签管理器的数据层数组中。
我想获取所有元标记,然后我希望能够相应地推送数组中的每个值。
我有以下代码,但如果我有 20-30 个元标记,我认为这不是最好的方法。我希望有人可以帮助我改进此代码!
<html>
<head>
<title> test metas</title>
<meta name="ABC" content="dummy"/>
<meta name="DEF" content="dummy"/>
<meta name="JHK" content="dummy"/>
</head>
<body>
<script type="text/javascript" charset="utf-8">
function GTMMeta(name) {
var metas = document.getElementsByTagName('meta');
for (i=0; i<metas.length; i++) {
if (metas[i].getAttribute('name') == name) {
return metas[i].getAttribute('content');
}
}
return '';
}
dataLayer = [{}];
if (GTMMeta('ABC') !=''){
dataLayer.push({'cmsName': GTMMeta('ABC')})
};
if (GTMMeta('DEF') !=''){
dataLayer.push({'transactionTotal': GTMMeta('DEF')});
}
if (GTMMeta('JHK') !=''){
dataLayer.push({'market': GTMMeta('JHK')});
}
</script>
</body>
</html>