2012-09-13 25 views
5

我只是建立了一個形象的投資組合,所有的畫面是動態加載一個HTML頁面。目前爲止,除了facebook META OG:IMAGE之外,一切都很好。改變OG的價值:圖像與jQuery單擊

由於頁面只加載一次,我可以分配OG:IMAGE URL一次... 但是我真的很想讓每張圖片都有自己的OG:IMAGE,因爲這是一個相冊。標籤 -

的照片是通過點擊--li類=「開放式PIC」加載。 我想在每次點擊--li class =「open-pic」 - 標籤時更改OG:IMAGE值。

可能嗎? 我發現這樣的東西:

$('meta[name=og\\:image]').attr('content', newImageUrl); 

不過,我不知道如何將此鏈接到li.open-PIC onclick事件。 謝謝!

G.

回答

3
$('li.open-pic').click(function(){ 
$('meta[name=og\\:image]').attr('content', newImageUrl); 
}); 
+1

哎呀......太簡單了。我爲自己感到羞愧。非常感謝。 – Cospefogo

+1

不需要thankx :) ..請不要忘記標記爲答案或upvote,如果這有幫助。這可能幫助別人太 –

+0

我相信這也不行......是的,它會改變meta標籤的價值......但它是無用的,因爲Facebook的仍然會顯示在meta標記註冊的原始圖像...查看CBroe的答案...... – dsdsdsdsd

14

由於網頁加載只有一次,我可以分配OG:圖像URL一次......但我真的想有每個畫面都有自己的OG:IMAGE,因爲這是一個相冊。

更改OG meta標籤的客戶端是沒有實際使用的 - 因爲Facebook將讀取這些標籤通過它的刮刀,這意味着他們會爲你的URL做一個HTTP請求,並看看有什麼在HTML代碼;刮板不執行任何JavaScript。

解決方案:爲每張照片都有自己的元信息的個別URL - 和你的喜歡按鈕/共享功能/ FB什麼特徵點到該網址爲每張照片。

(你如何處理事情客戶端並不重要 - 你仍然可以顯示所有的照片在一個頁面,通過AJAX,不管你喜歡加載新的內容 - 但你需要爲你的照片不同的URL他們被公認爲個人Open Graph的對象。)

+1

非常感謝,CBroe!我非常感謝你的澄清。我在wordpress環境下工作,畢竟,我會爲每幅圖片創建一個頁面 - 這是無法逃脫的。 – Cospefogo

3

這是結腸。嘗試使用單引號&這樣的雙引號:

var imgSrc = $(this).find('img').attr('src'); // image stored as variable 
$('meta[property="og:image"]').attr('content', imgSrc); // assigns meta property