【问题标题】:Turn Js Variable into Meta data将 Js 变量转为元数据
【发布时间】:2020-05-12 21:00:25
【问题描述】:

在head部分我有一个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">

【问题讨论】:

  • 你有后台吗? (php, python ...)
  • 不 - 只是 tagmanager
  • 你想要这样一个搜索引擎可以读取元数据吗?答案很可能会使用 javascript 将新创建的标签附加到文档的头部。搜索引擎很可能不会运行 JS,因此不会创建标签。
  • 不 - 我想从 js 中设置元数据,以便我可以提取 ist 并将其添加到交互中

标签: javascript metadata google-tag-manager meta


【解决方案1】:

保存这个 sn-p 来测试它

只需使用 JS 创建元标记并将其附加到文档的头部

运行它并右键单击以检查 head 标签以查看元已创建

   

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);

【讨论】:

  • 再次检查!它创建了一个图像来显示它
【解决方案2】:

这可以通过循环通过产品对象的键并将其与关联值附加到&lt;head&gt; 来实现。下面的代码将导致:

<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>

【讨论】:

  • 该脚本出现错误:'''Fehler in Zeile 2, Zeichen 42:此语言功能仅支持 ECMASCRIPT6 或更好的模式:箭头函数。''' '''Fehler in Zeile 3、Zeichen 10:这个语言特性只支持ECMASCRIPT6或更好的模式:模板字面量。'''
猜你喜欢
  • 1970-01-01
  • 2012-12-11
  • 2014-02-14
  • 1970-01-01
  • 2017-07-10
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多