使用Nuxt和__dangerouslyDedableSanitizers实现ld + json

问题描述 投票:0回答:1

我正在使用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']
    }
},
vue.js nuxt.js
1个回答
0
投票

是,这是正确的。

但是由于Nuxt.js使用了vue-meta v2.1,因此如果使用JSON.stringify属性,则__dangerouslyDisableSanitizersjson无效:

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

© www.soinside.com 2019 - 2024. All rights reserved.