首页 > 解决方案 > 在 SPA 中更改 Facebook 元标记,但共享时无法识别 OG 元标记更改

问题描述

我为默认 Facebook 元信息设置了以下代码。

<meta property="og:type" content="music.song">
<meta property="og:title" content="cXc Music (Alpha)">
<meta property="og:description" content="Find underground music from around the world on cXc Music, an app by @currentxchange">
<meta property="og:image" content="images/cXc-Alpha-App-2.1[600].png">
<meta property="fb:app_id" content="THISHASLEGITID">
<meta property="og:site_name" content="cXc Music">

我的目标是在帖子加载时更改此信息。这是一个 SPA,因此会加载信息,然后在浏览器中更改元数据和 URL。

我有这个 jQuery 代码,每次加载新歌曲显示时都会将元标记设置如下。

$("meta[property='og:image']").attr('content', song.thumbnail_url);
$("meta[property='og:description']").attr('content', ('Listen to '+ song.title +' and find music from around the globe with cXc Music, an app by @currentxchange'));
$("meta[property='og:title']").attr('content', (song.title + ' on cXc Music'));

目前,无论如何,我只为 FB 设置的第一个标签显示,但 twitter 会根据需要更改每首加载歌曲的标题。

我正在使用 JSsocials。

类似的 Twitter 标题似乎有效,但在 Facebook 上没有任何效果。您可以在此处查看应用程序的 Alpha 版,并了解我的意思。

标签: jqueryhtmlfacebookmeta-tagsfacebook-opengraph

解决方案


推荐阅读