2011-04-23 44 views
3

我有一個完全用javascript控制的web應用程序。這意味着只有一個請求呈現完整的頁面,其他所有內容都被渲染成json。在Facebook上共享動態(JavaScript生成)頁面

Facebook共享在頭部使用opengraph標籤來控制共享中顯示的文本和圖像,但我的應用程序是單頁,單頭,因此我只能在應用程序的所有鏈接上使用一個圖像。

我們正在使用hashbangs(#!)來控制用戶所在的應用程序中,但我們也有,當用戶點擊喜歡

http://domain/action/id 

一個URL,他們會發送到一個URL重寫(通過重定向頭)

http://domain/#!/action/id 

因此,鑑於這種情況,我想知道如果有在Facebook上分享我的網址,並告訴Facebook來獲得不同的圖像爲每個我的網址的方式。

回答

2

當facebook-share獲取頁面時,它不會處理其中的JavaScript - 但會嘗試在其中搜索opengraph標記。所以基本上沒有辦法在Facebook上分享你的網址,並有不同的圖片,除非你的響應中加載了你的opengraph標籤 - 沒有javascript。想想你會怎麼做,如果你沒有javascript的話..

所以你將不得不做的是在你使用javascript之前加載頁面中的opengraph標籤。

+0

因此,我的問題變爲:'Facebook是否遵循HTTP重定向?'如果是的話,我在這裏沒有太多的選擇。如果沒有,我可以在發送重定向的頁面中設置opengrapf標籤,然後facebook會看到標籤,而實際用戶被重定向並查看實際內容。這可以嗎? – 2011-04-23 18:31:27

+0

是羅德里戈,那正是我所做的。您可以在頁面中設置opengraph標籤,然後使用meta標籤或javascript重定向用戶 - 而不是通過http標頭。爲我投票,如果我幫你的! – T4u 2011-04-23 18:36:55