覆盖清单元数据

时间:2018-12-08 12:30:22

标签: vuejs2 manifest progressive-web-apps nuxt.js

我有一个清单,其中包含诸如名称等之类的内容,它也立即为我的页面显示了元标记。现在我想在个人页面上使用元标记,问题是清单元标记不会被覆盖,这导致它们在Facebook等网站上具有更高的优先级。

清单示例:

  manifest: {
    theme_color: '#1a1a1a',
    name: 'Stackoverflow',
    short_name: 'SO',
    description: 'Questions and Answers',
    lang: 'de'
  },

页面中的示例更改:

  head () {
    return {
      meta: [
        { name: 'og:url', content: 'www.notstackoverflow.com' },
        { name: 'og:type', content: 'article' },
        { name: 'og:title', content: this.post.titel },
        { name: 'og:description', content: this.post.subtitel },
      ]
    }
  },

问题在于它仍然使用清单中的标题和描述而不是页面。如果我继续查看源代码,它只会在清单清单之后添加页面中的清单。

(Nuxt + PWA模块)

1 个答案:

答案 0 :(得分:1)

您必须为每个元数据添加hid属性:

 head () {
    return {
      meta: [
        { hid: 'og:url', name: 'og:url', content: 'www.notstackoverflow.com' },
        { hid: 'og:type', name: 'og:type', content: 'article' },
        { hid: 'og:title', name: 'og:title', content: this.post.titel },
        { hid: 'og:description', name: 'og:description', content: this.post.subtitel },
      ]
    }
  },

请参阅https://nuxtjs.org/faq/duplicated-meta-tags

  

为避免在子组件中使用时出现重复,请使用“ hid”键提供唯一的标识符。