将jQuery中的变量插入JSON模式标记



我正在尝试获取元描述,并将其内容复制到一些JSON模式标记中。但我不知道如何让它正确地将变量传递到JSON结构中。

以下是我的想法:

<script>
const desc = $('meta[name=description]').attr("content");
</script>
<script type='application/ld+json'>
{
"@context": "http://www.schema.org",
"@type": "LocalBusiness",
"name": "BizName",
"telephone": "+1234567890",
"description": "'+desc+'",
....
}
</script>

我知道它不会完全将desc变量直接传递到JSON标记中,因为它在单独的脚本标记中。我只是不知道如何将两者结合起来才能正确工作。希望这是合理的,并愿意接受任何建议。

首先构建架构,然后将其注入。

<script>
const desc = $('meta[name=description]').attr("content").toString();
var schema = {
"@context": "http://www.schema.org",
"@type": "LocalBusiness",
"name": "BizName",
"telephone": "+1234567890",
"description": desc,
....
}      
var script = document.createElement('script');
script.type = "application/ld+json";
script.text = JSON.stringify(schema);
document.querySelector('body').appendChild(script);
</script>

您不能–这是静态JSON标记,而不是动态JavaScript。

从技术上讲,可以动态地使用所有Schema JSON注入一个全新的<script>标记,但JavaScript可能*不会被解析页面的JSON+LD数据的软件所解释。

最新更新