首先,我會給出我的假設:如果Facebook的URL刮板試圖刮你的網頁,並無法訪問它(例如,如果它是待審覈和Facebook刮刀機器人被重定向到「登錄」頁面),Like按鈕和評論等社交插件無法正常工作,因爲Facebook認爲該URL「無法訪問」。 Facebook需要24小時才能再次嘗試抓取頁面,直到那時,Facebook纔會認定它仍然無法訪問。
這裏是Facebook says有關的網頁有多常刮,以及如何強制刮:
Facebook的擦傷您的網頁,每24小時,以確保性能是最新的。當Open Graph頁面的管理員點擊Like按鈕並將URL輸入到Facebook URL Linter中時,頁面也會被抓取。 Facebook會在您的網址上觀察緩存標頭 - 它會按照首選項的順序查看「過期」和「緩存控制」。但是,即使您指定的時間較長,Facebook也會每24小時刮一次頁面。
請注意,Facebook URL Linter已更名爲Facebook Object Debugger。
我可能是錯誤的基本問題。我會給你我的經驗,你可以決定。
我們的網站是一個博客的集合,所有博客文章都有一個「like」按鈕,用相同的代碼生成(除了喜歡的網址)。默認情況下,所有博客帖子都保存爲「草稿」狀態,除非您已登錄,否則不可用。如果匿名用戶嘗試訪問「草稿」博客帖子,他將被重定向到登錄頁面。
幾個月前,我們遇到了「喜歡」按鈕問題,雖然錯誤表現略有不同:單擊Like按鈕時,我們得到「URL無法訪問」。這隻發生在具有「喜歡」按鈕並且還沒有立即發佈(例如,他們被保存爲「草稿」狀態)的帖子上。我認爲這是固定的,當我改變「草稿」視圖不顯示Facebook社交插件。但是,我注意到,如果您點擊某個帖子上的「Like」按鈕,「Like」彈出窗口會在屏幕上閃爍片刻,然後消失,並且不會顯示「喜歡」 「行動正在發生。不同的行爲,同樣的問題:「贊」按鈕不起作用。
與此同時,其他所有帖子上的「贊」按鈕都可以正常工作!我測試了這個,然後回到了我不能「喜歡」的帖子。同樣的行爲:彈出出現並消失,不會發生「喜歡」。
我使用了Chrome的開發人員工具來查看正在進行的HTTP請求,將工作「like」的請求/響應與不工作的「like」進行比較。 「Like」按鈕JavaScript向http://www.facebook.com/plugins/like/connect發送一個HTTP POST請求,並返回一些JavaScript。盡我所知,HTTP POST請求在工作和非工作按鈕之間是相同的,但響應卻不同。下面是一個工作像,隨後是一個像JavaScript的響應JavaScript的響應是不工作:
for (;;);{"__ar":1,"payload":null,"jsmods":{"require":[["Plugin","connect",[],["http:\/\/www.hslda.org\/cms\/?q=blog\u00252Fpeeking-through-fence","10151028997762924"]]]}}
for (;;);{"__ar":1,"payload":null,"jsmods":{"require":[["Plugin","disconnect",[],["http:\/\/www.hslda.org\/cms\/?q=blog\u00252Fpoem-just-you"]]]}}
我注意到兩種區分:工作版本的「連接」,而非工作版本有「斷開「,並且工作版本具有看起來像ID的附加參數。我猜這是這個特定的「喜歡」事件的ID。
我做了一些Google搜索,找不到明確的答案。試圖調試這個,我使用Facebook Object Debugger。它發現了一些值得修復的「Like Button Warnings」和「Open Graph Warnings」,但我認爲它們不是問題 - 因爲它們與像按鈕一樣工作的URL以及帶有類似按鈕的URL相同沒有工作。因此我決定去Facebook Social Plugin page for the Like Button。我放入不喜歡的博客文章的URL,並嘗試喜歡它。有效。我想知道,「頁面上的按鈕是否仍然斷開?」我不喜歡它,因爲我已經喜歡它了。所以我問一個同事試圖和喜歡這個帖子,這對他有用。然後我讓我的同事不像帖子,我不喜歡它(所以我們不喜歡),然後我再次嘗試喜歡它,使用博客文章中的按鈕。有效。
所以,好像有一次我「強迫」頁面被再次刮掉,它開始工作。但也有可能的是,通過Like按鈕頁面「強制」類似的東西也打破了一些鬆散的...不確定。
今天剛開始有這個問題。你有沒有解決這個問題?我已經使用Facebook Like按鈕很多次,沒有任何問題。從今天開始,喜歡按鈕的按鈕會閃爍到0到1,然後在喜歡我的域上的頁面時瞬間回到0。 – 2011-07-11 07:43:31
可能重複的[Facebook Like-button問題](http://stackoverflow.com/questions/2995840/facebook-like-button-problem) – Gilles 2011-07-23 11:49:05