2011-04-22 52 views
2

我正在實施一個像按鈕,但由於某種原因,元標記中的信息沒有被正確傳輸。Facebook喜歡的按鈕獲取URL正確,但不是元信息

如果我將URL放入<fb:like></fb:like>標籤中,則正確的URL將加載到FB上的牆貼上。但是,meta標籤中描述的圖片和所有其他項目不會與其一起發佈。如果我將href<fb:like></fb:like>標籤中移出,那麼鏈接默認爲like按鈕所在的頁面。不幸的是,我需要給鏈接添加一些參數,所以當用戶從FB文章點擊到網站時,它顯示正確。

我已經通過鏈接linter運行我的鏈接,它仍然在牆貼中顯示相同的圖像和基本站點信息,而不是圖像或在linter中顯示的元標記中的描述。

基本上,它看起來像我的一些元信息被忽略。我究竟做錯了什麼?這是緩存問題嗎?

編輯我只是在IE測試這一點,我得到一個錯誤的喜歡按鈕,應該是說頁面無法找到...

文檔的頭:

<?xml version="1.0"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:og="http://ogp.me/ns#" 
    xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head> 
<meta property="og:title" content="Product Title" /> 
<meta property="og:type" content="product" /> 
<meta property="og:url" content="http://www.mysite.com/folder/folder/gateway.cfm?ifcn=1&amp;fbx=true&amp;type=product&amp;product=771&amp;page=gateway" /> 
<meta property="og:image" content="http://www.mysite.com/folder/folder/images/theImage.jpg" /> 
<meta property="og:site_name" content="My Site" /> 
<meta property="fb:admins" content="ADMIN_ID123" /> 

只是身體標記內:

</head> 
<body> 
<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
FB.init({status: true, cookie: true, 
     xfbml: true}); 
}; 
(function() { 
var e = document.createElement('script'); e.async = true; 
e.src = document.location.protocol + 
    '//connect.facebook.net/en_US/all.js'; 
document.getElementById('fb-root').appendChild(e); 
}()); 
</script> 

我的Like按鈕:

<fb:like href="http://www.mysite.com/folder/folder/product.cfm?pid=562&ifcn=1&fbx=true&type=product&product=562&page=gateway " show_faces="false" width="450" font=""></fb:like> 
+0

其中是您的HTML中的'fb-root'元素? – emaillenin 2011-04-22 06:24:55

+0

@emaillenin,我更新了代碼以顯示它在我的頁面中的位置。正好在打開'body'標籤後。 – Ofeargall 2011-04-22 06:34:29

+0

我認爲你需要這個doctype來使用opengraph元標記。 <!DOCTYPE html PUBLIC「 - // W3C // DTD XHTML + RDFa 1.0 // EN」「http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd」> 還試試修改xmlns:og,如下所示 xmlns:og =「http://opengraphprotocol.org/schema/」 – emaillenin 2011-04-22 06:48:47

回答

0

Facebook的按鈕不喜歡查詢字符串,他們需要進行編碼,甚至在某些瀏覽器中不起作用。

嘗試通過Facebook Linter運行您試圖喜歡的鏈接。它可以給你一些有用的信息,甚至錯誤。