首页 > 解决方案 > 将 Js 变量转为元数据

问题描述

在头部我有一个js:

var product = {
                ProductID: '97087',
                Thema: '18',
                CategoryID: '49',
                Region1: ['21'],
                Region2: ['35'],
                Region3: [],
                Price: '22,00',
                Brand: 'Brand',
            };

有没有办法将 ProductID 变成 Meta 标签

<meta name="brand" content="97087">

标签: javascriptmetadatagoogle-tag-managermeta

解决方案


这可以通过遍历产品对象的键并将其与关联值附加到<head>. 下面的代码将导致:

<meta name="ProductID" content="97087">
<meta name="Thema" content="18">
<meta name="CategoryID" content="49">
<meta name="Region1" content="21">
<meta name="Region2" content="35">
<meta name="Region3" content="">
<meta name="Price" content="22,00">
<meta name="Brand" content="Brand">

var product = {
                ProductID: '97087',
                Thema: '18',
                CategoryID: '49',
                Region1: ['21'],
                Region2: ['35'],
                Region3: [],
                Price: '22,00',
                Brand: 'Brand',
            };
            
var metaTags = Object.keys(product).map(function(key) {
  return '<meta name="' + key + '" content="' + product[key] + '">';
}).join('');

var headElem = document.querySelector('head');
headElem.innerHTML += metaTags;


console.log(headElem.querySelectorAll('meta'));
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  
</body>
</html>


推荐阅读