动态Facebook Open Graph标签可能吗?

use*_*677 9 html jquery facebook-graph-api facebook-opengraph

我正在使用jQuery(下面)动态更改我的<meta property="og:image" content="#"><meta property="og:title" content="#">标签.当我通过Chrome中的"检查"查看代码时,标记已成功更改.

HTML:

<meta property="og:title" content="#">
<meta property="og:image" content="#">
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("meta[property='og:title']").attr("content", data.name);
$("meta[property='og:image']").attr("content", data.thumbnail.url);
Run Code Online (Sandbox Code Playgroud)

Facebook调试工具仍在content="#"为每个人展示.我假设这是因为Facebook在Javascript有机会替换内容之前读取源代码.

有没有解决的办法?

谢谢.

lus*_*chn 11

Facebook根本不解析JavaScript,你不能使用动态Open Graph标签.无论如何,在飞行中改变它们并没有多大意义.

您只能在服务器上动态更改OG标签 - 显然.例如:https://yourdomain.com/dynamicogtags.php?title=xxx&description=xxx

<meta property="og:title" content="<?php echo $_GET['title'];?>">
Run Code Online (Sandbox Code Playgroud)

不确定这是否是你想要做的,URL看起来很丑陋.当然,改写会很好.

您也可能想尝试类似prerender.io,但我不确定它是否会处理动态og标签.

  • 如果你投票,请评论为什么.我的回答是100%正确,但如果缺少某些东西,我很乐意改进它. (3认同)