facebook - 如何在 nuxt.js (vue.js) 中配置动态 og 标签?

标签 facebook vue.js facebook-opengraph server-side-rendering nuxt.js

我用 vue init nuxt/express myprojectstart 启动了 nuxt 应用。

这是我的目录。

page
|- _project.vue
|- project
  | - index.vue

_project.vue的配置

export default {
  head () {
    return {
      title: this.project.title,
      meta: [
        {property: 'fb:app_id', content: '12873892173892'},
        {property: 'og:title', content: this.project.title},
        {property: 'og:image', content: this.project.image},
      ],
    }
  }
},
async asyncData ({app, params, error}) {
  const project = await app. $ axios. $ get (`/ project`)
    return {
      project: project.project,
    }
  }
}

但是,如果您按下 Facebook 分享按钮,则不会出现所需的标题和图像。

我认为这是服务器端渲染问题。但是我无法解决这个问题。

非常感谢您的帮助。

最佳答案

要使用 Nuxt.js 而不是使用 'property',您需要使用 'name' 元 Prop 。此外,您可以添加一个 'hid' 属性来为您的标签设置唯一标识符,以防您的子组件使用相同的标签。

因此,对于您的情况:

  meta: [
    { hid: 'fb:app_id', name: 'fb:app_id', content: '12873892173892' },
    { hid: 'og:title', name: 'og:title', content: this.project.title },
    { hid: 'og:image', name: 'og:image', content: this.project.image },
  ],

关于facebook - 如何在 nuxt.js (vue.js) 中配置动态 og 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47864147/

相关文章:

php - 如何使用 Facebook 请求对话框向用户所有 friend 发送应用程序请求?

javascript - 视觉 : how to set image property as an src attribute on an async object

laravel - 如何使用 Laravel Mix 将 Vue block 文件放入 public/js 中?

html - 是否可以对 opengraph 和 schema.org 使用相同的元标记

ios - facebook - 获取点击 FB 共享链接的用户上下文

dom - Youtube 元数据和 opengraph 标签

javascript - JavaScript中的Facebook游戏声音

facebook - 在我的应用审核中需要进行业务验证

javascript - 覆盖附件布局中的对象标题

javascript - CSS3。 VueJS。动态过渡背景渐变