2015-04-24 27 views
0

即時通訊使用Zend Framework v1,我已經在我的網站上實現了Facebook分享按鈕。如果我第一次點擊分享按鈕,數據會被提取(標題,描述和URL),但不會縮略圖。但是,如果我刷新頁面,請返回並再次按下該按鈕,即會顯示縮略圖。Facebook分享按鈕僅在刷新後才顯示縮略圖。 ZendFramework

同樣的事情是,當我通過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"]); 
+0

我曾經有過類似的問題,事實證明,Facebook自己的圖像緩存是問題所在。不幸的是,我不記得我們是如何解決這個問題的 - 這非常難看,並且包含了調試器工具(https://developers.facebook.com/tools/debug/)。也許「?fbrefresh = your-fb-url」也會有所幫助(雖然它不適用於CDN,而瀏覽器緩存會令你厭惡)。 –

回答

2

您可以trigger a first scrape via API在發佈新內容時,或通過指定OG meta標籤的圖像尺寸爲好。

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

有兩種方法來避免這一點,並有圖像的第一像渲染或分享行動:

  1. 預緩存與URL調試圖像

  2. 使用og:image:widthog:image:height打開圖標記

+0

謝謝你! ** og.image:寬**和** og:圖像:高**完美的作品! 預先緩存URL調試器中的每個圖像在我的情況下是不可能的。我在服務器上有20k圖像,而且這個數字還在增長。 – buggie

相關問題