Преврати переменную Js в метаданные - PullRequest
0 голосов
/ 27 января 2020

в секции head у меня есть js:

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

Есть ли способ превратить ProductID в метатег, например

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

Ответы [ 2 ]

1 голос
/ 27 января 2020

Это может быть достигнуто путем зацикливания ключей объекта продукта и добавления его со связанным значением к <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>
0 голосов
/ 27 января 2020

Сохраните этот фрагмент, чтобы проверить его

Просто создайте метатег с помощью JS и добавьте его к заголовку документа

Запустите его и щелкните правой кнопкой мыши, чтобы просмотреть тег заголовка для увидеть мета создан

   

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


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

var meta = document.createElement('meta');
meta.setAttribute('name',product.Brand);
meta.setAttribute('content',product.ProductID);
document.getElementsByTagName('head')[0].appendChild(meta);
enter image description here
...