2010-11-30 37 views
5

我發現這個問題遍佈網絡,但沒有答案,所以也許這裏有人解決了它......? 我建立了一個嚴重依賴jquery.address的頁面。它有一個索引頁面,其餘的部分是通過Ajax按照谷歌的/#!/方案爲可抓取頁面動態加載的。現在我想添加Facebook贊或分享按鈕,但我無法獲取它實際的頁面標題或網址。Facebook喜歡或與動態文檔標題共享

無論我做什麼,它總是會回退到索引頁的標題和網址。它試圖:

  • (顯然)改變標題一個openGraph元加載的新零件。
  • 「鏈接」搜尋器頁面(?_escaped_fragmet_=xyx),但在指定頁中的元
  • 「共享」給定的標題和URL。

我從來沒有得到任何東西,只是一個鏈接到索引頁或空白的「共享」到標題和縮略圖被忽略的正確的網址。

有沒有人有類似的設置工作?

感謝您的任何提示, 托馬斯

+0

你找到一個解決辦法了嗎?因爲我仍然找不到一個。 Facebook使用#!本身,但似乎並不支持他們的爬蟲權利? – 2011-08-23 13:15:30

+1

我其實發現Facebook正在使用#!兩天前。現在它工作了!如果你建立你的網站,使得http://site.de/?_escaped_fragment=something與http://site.de/#!/some相同,你所要做的就是「共享」#!網址,它會顯示來自轉義片段頁面的信息。使用此URL檢查:http://developers.facebook.com/tools/debug – thomas 2011-08-23 13:47:55

+0

你也可能想要檢查https://github.com/balupton/history.js/wiki/Intelligent-State-Handling清潔解決方案 – thomas 2011-08-23 13:48:47

回答

3

Facebook現在實際上正在使用#!,它的工作原理!如果你建立你的網站,使http://site.de/?_escaped_fragment=something是相同的http://site.de/#!/something所有你需要做的就是「共享」#!網址,它會顯示逃脫片段頁面的信息。
使用此URL來檢查:http://developers.facebook.com/tools/debug

但是:一個更清潔的解決問題的方法可以在這裏找到:http://github.com/browserstate/history.js/wiki/Intelligent-State-Handling

2

我的猜測是,Facebook的抓取工具無法運行JavaScript,並會始終顯示一切實際上是在從服務器獲取頁面。

2

Facebook分享了一個殘酷的緩存,我最後一次檢查是不可能更改標題/描述數據,一旦它被颳了:(

0

我的問題是OG:url和的實際網址頁面不匹配我也讀了很多有關標題元素之後的og數據的評論,但我不認爲這解決了任何問題

關於緩存問題,Facebook的緩存是「殘酷的」,但它並沒有緩存lint工具的任何東西:http://developers.facebook.com/tools/debug

我使用no-hash-bang當分享鏈接時我處理硬鏈接並將它們重定向到使用javascript的哈希客戶端。這樣,如果抓取工具轉到硬鏈接頁面,它將顯示信息,就像啓用javascript時一樣。

比較:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2F%23!%2FChristmas%2Fvs%2FBacon

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2FChristmas%2Fvs%2FBacon

希望這有助於。

相關問題