특정 페이지의 모든 메타 태그를 읽고 각 메타 이름과 콘텐츠 값을 Google 태그 관리자에 사용할 데이터 배열에 저장해야합니다.자바 스크립트를 사용하여 모든 메타 태그 이름과 값을 객체에 저장
모든 메타 태그를 가져 와서 배열의 각 값을 적절하게 푸시 할 수 있기를 원합니다.
나는 다음 코드를 가지고 있지만 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>
가장 좋은 방법은 아니지만 실제로는 매트가 아닙니다. 수백 개의 태그가 없다면 말이야. 함수를 호출하고 검색하는 대신 태그가 있는지 확인하기 위해 반환 값을 저장하면됩니다. – Pointy
@ 포인트 : 정말 고마워요. 각 페이지에 약 30 개의 메타 데이터가 있으며 6 ~ 8 페이지에이 스 니펫이 필요하다고 가정하면 배열에 메타를 쓰는 더 좋은 방법이 있다면 매우 편리 할 것입니다. – digitup