我正在动态更改我的 <meta property="og:image" content="#">
和 <meta property="og:title" content="#">
使用 jQuery 的标签(如下)。当我在 Chrome 中通过“检查”查看代码时,标签已成功更改。
HTML:
<meta property="og:title" content="#">
<meta property="og:image" content="#">
jQuery:
$("meta[property='og:title']").attr("content", data.name);
$("meta[property='og:image']").attr("content", data.thumbnail.url);
但是Facebook debugger tool还在显示content="#"
对于每个。我假设这是因为 Facebook 在 Javascript 有机会替换内容之前读取了源代码。
有解决办法吗?
谢谢。
最佳答案
Facebook 根本不解析 JavaScript,您不能使用动态 Open Graph 标签。无论如何,即时更改它们并没有什么意义。
显然,您只能在服务器上动态更改 OG 标签。例如:https://yourdomain.com/dynamicotags.php?title=xxx&description=xxx
<meta property="og:title" content="<?php echo $_GET['title'];?>">
但不确定这是否是您想要执行的操作,那样的话 URL 看起来很丑陋。当然,重写会很好。
您可能还想尝试像 prerender.io 这样的东西,但我不确定它是否会处理动态 og 标签。
关于jquery - 动态 Facebook Open Graph 标签可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34281862/