在 Facebook 上分享 - 缩略图第一次没有显示
Posted
技术标签:
【中文标题】在 Facebook 上分享 - 缩略图第一次没有显示【英文标题】:Share on Facebook - Thumbnail not showing for the first time 【发布时间】:2013-06-21 01:30:54 【问题描述】:
https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.frcc.us%2F1197%3Fv%3D3422%26f%3D5
您现在应该会看到它有缩略图。但是每次我从我的网站发布一个新链接(配置如上例)时,缩略图都不会第一次出现。我必须刷新,然后缩略图显示。
我应该包含有效的 og 标签。当我在https://developers.facebook.com/tools/debug 上测试我的链接时
有时它会给我一个错误,说 og:image 应该更大。然后我只需要再次调试它,然后错误就消失了。
og:我所有链接的图像都是相同的。我提供了最大的图像1500x1500
。链接到图片时没有重定向。
为什么?
【问题讨论】:
我遇到了同样的问题。但是我确实注意到,如果您单击“发布”,它可能会将图像添加到帖子中,即使它在发布之前没有在“预览”中显示。 另外值得注意的是,使用 Pinterest pin URL 共享也有同样的问题 - 第一次我没有在预览中看到图像,但在我点击“发布”后它确实出现了。 【参考方案1】:原因是FB在幕后仍在抓取您的页面并缓存图像。下一次,其实你也有形象。 如何解决?手动预缓存:https://developers.facebook.com/docs/sharing/best-practices#precaching
或简单地添加
<meta property="og:image:width" content="450"/>
<meta property="og:image:height" content="298"/>
【讨论】:
这似乎对我今天有用。它与问题中提到的问题相同,但指定宽度和高度为我解决了这个问题。 为我工作。谢谢。 我有 og:image:width 和 :height 元标记属性,对我不起作用【参考方案2】:根据 Facebook 错误跟踪器中的 bug:
这是设计使然,出于性能原因,我们不保证在您分享链接时立即获取正确的图片。
现在,如果您想确保在发布之前使用正确的图像,请确保通过调试器触发抓取,或者只需加载预览窗格两次(一次触发抓取,然后一次预览完全抓取的份额)。
从下周(11 月 11 日)开始,您还可以通过使用
og:image
描述图像来确保立即拾取正确的图像。要使用它,需要定义宽度和高度。
【讨论】:
【参考方案3】:更新
这个带有 iframe 的解决方案不再工作了!从 2017 年 2 月 6 日昨天开始工作。 Facebook 只是将 X-Frame-Options 设置为 DENY,因此您无法在 iFrame 中加载共享者网址。 我正在寻找另一种解决方法。
不幸的是,添加 og:image:width 和 og:image:height 对我不起作用。
我找到了解决这个 facebook 错误的方法:我在页脚中添加了一个带有共享链接的隐藏 iFrame;这样,facebook 爬虫会在页面加载后检查页面。
隐藏 iFrame 示例:
<iframe style="width: 0px; height: 0px; margin: 0px; padding: 0px;" src="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.example.com"></iframe>
【讨论】:
在网站daysoldage.com有一个很好的例子尝试计算年龄并查看结果页面的源代码:在第275行你可以看到强制Facebook爬虫的隐藏iFrame。 非常感谢 Alexy 告诉我!从昨天开始,这个解决方案运行良好。他们就在今天添加了选项 X-Frame-Options=DENY。【参考方案4】:-
去here
输入您的 YouTube 视频的网址
点击“获取新的报废信息”
返回 Facebook
重新加载页面
再次输入网址
它应该可以正常工作
【讨论】:
以上是关于在 Facebook 上分享 - 缩略图第一次没有显示的主要内容,如果未能解决你的问题,请参考以下文章