【问题标题】:Facebook share button shows thumbnail only after refresh. ZendFrameworkFacebook 分享按钮仅在刷新后显示缩略图。 ZendFramework
【发布时间】:2015-04-24 16:14:34
【问题描述】:

我使用 Zend Framework v1,我在我的网站上实现了 facebook 分享按钮。如果我第一次单击共享按钮,则会获取数据(标题、描述和 URL),但不会获取缩略图。但是,如果我刷新页面,返回并再次按下按钮,则会显示缩略图。

同样的事情是当我通过 fb 网站发布链接时 - 第一次没有缩略图,但在刷新 fb 网站并再次发布链接后它正在显示。

有人知道如何让它工作吗?

元标记似乎没问题,fb 开发者工具显示没有错误。

ZF 控制器中的代码

$this->view->doctype('XHTML1_RDFA');
$this->view->headMeta()->appendProperty('og:title', 'some value');
$this->view->headMeta()->appendProperty('og:type', 'website');
$this->view->headMeta()->appendProperty('og:url', 'http://mydomain/file?name='.$_GET["name"]);
$this->view->headMeta()->appendProperty('og:description', 'some value');
$this->view->headMeta()->appendProperty('og:image', 'http://mydomain/up/'.$_GET["name"]);

【问题讨论】:

  • 我曾经遇到过类似的问题,后来发现问题出在 Facebook 自己的图像缓存上。不幸的是,我不记得我们做了什么来解决这个问题 - 它非常难看,并且包含调试器工具 (developers.facebook.com/tools/debug)。也许“?fbrefresh=your-fb-url”也会有所帮助(尽管它不适用于 CDN,而且浏览器缓存会讨厌你)。

标签: php facebook facebook-graph-api zend-framework


【解决方案1】:

您可以在发布新内容时trigger a first scrape via API,也可以通过 OG 元标记指定图片尺寸。

https://developers.facebook.com/docs/sharing/best-practices#precaching:

有两种方法可以避免这种情况,并在第一次点赞或分享操作时呈现图像:

  1. 使用 URL 调试器预缓存图像

  2. 使用og:image:widthog:image:height 打开图形标签

【讨论】:

  • 谢谢你! og.image:widthog:image:height 完美运行!在我的情况下,在 URL 调试器中预先缓存每个图像是不可能的。我在服务器上有 20k 张图片,而且数量还在增长。
猜你喜欢
  • 1970-01-01
  • 2014-09-08
  • 2011-02-26
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-10
  • 2013-07-11
相关资源
最近更新 更多