我正在使用nuxt.js,需要使用ld + json为Google使用结构化数据
我将使用填充并通过JSON.stringify方法运行的动态数据。
我是否正确地将此代码用于XXS脚本?我还需要通过__dangerouslyDisableSanitizers,因为不确定所提供的文档吗?
head(){
let user = this.user;
return {
title: 'This is my page title',
meta: [
{ hid: 'description', name: 'description', content: 'This is my description' }
],
script: [
{
innerHTML: JSON.stringify({
'@context': 'http://schema.org',
'@type': 'Website',
'url': `${user}`
}),
type: 'application/ld+json'
}
],
__dangerouslyDisableSanitizers: ['script']
}
},
是,这是正确的。
但是由于Nuxt.js使用了vue-meta v2.1,因此如果使用JSON.stringify
属性,则__dangerouslyDisableSanitizers
和json
无效:
head(){
let user = this.user;
return {
title: 'This is my page title',
meta: [
{ hid: 'description', name: 'description', content: 'This is my description' }
],
script: [
{
json: {
'@context': 'http://schema.org',
'@type': 'Website',
'url': `${user}`
},
type: 'application/ld+json'
}
]
}
},
请参见vue-meta文档:https://vue-meta.nuxtjs.org/api/#add-json-data