Vue.js 实施ld+;json使用Nuxt和_危险的可删除清理程序
我正在使用nuxt.js,需要使用ld+json为google使用结构化数据 我将使用已填充的动态数据,并通过JSON.stringify方法运行它 我是否正确地将其用于XXS脚本?我还需要通过危险禁用消毒剂,因为我不确定提供的文件上是否有Vue.js 实施ld+;json使用Nuxt和_危险的可删除清理程序,vue.js,nuxt.js,Vue.js,Nuxt.js,我正在使用nuxt.js,需要使用ld+json为google使用结构化数据 我将使用已填充的动态数据,并通过JSON.stringify方法运行它 我是否正确地将其用于XXS脚本?我还需要通过危险禁用消毒剂,因为我不确定提供的文件上是否有 head(){ let user = this.user; return { title: 'This is my page title', meta: [ { hid: 'descri
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
属性,则JSON.stringify
和\uu危险禁用的Sanitarizers
无效:
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 docs:好的,谢谢…..当我在源代码中查看json对象时,我的json对象中会出现文本…..这是否正确?我们';关于澳大利亚';或者在源代码中应该是澳大利亚的?是的,这是一个正确的值。正如docs()中所解释的,您的文本只是经过了清理:“当将数组或对象传递给json属性时,变量的键和值仍将被清理以防止XSS”@NicolasPennec I copy pasted json ld sanitized text..in看起来google没有识别它。@GeorgeAlvis您使用了哪个版本的nuxt&vute meta?(请运行“npm list nuxt vue meta”)。使用nuxt 2.12.2(+vue meta 2.3.3作为children dep)它对我来说很好@NicolasPennec我从来没有说过它不起作用……我的观点是,当我在测试工具中测试时,谷歌没有验证经过消毒的json