我正在開發一個實現「Facebook評論」的網站。該網站的一個特點是,我打算有很多頁面實現「Facebook評論」,這些頁面是通過服務器端編程自動生成的。Facebook的評論顯示警告「網站無法訪問」,但仍然有效
從理論上講,這應該是沒有問題... ...我包括這對我產生了下面的JavaScript代碼:
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=MY_APP_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
HTML標記我包括如下:
<div class="fb-comments" data-href="www.myurl.com/user/{{user.id}}" data-num-posts="20" data-width="500"></div>
關於在上面,你會注意到我使用的是python-django,所以在雙括號中有一個服務器端變量。這使我可以在許多自動生成的頁面上擁有相同的功能。
Everthing似乎是完美的工作。每個單獨的頁面都有它自己的Facebook評論實現....除了,我得到這個惱人的警告消息「警告:(我的網址)無法訪問。」顯然,它正在達到,因爲它工作正常!那麼,它爲什麼要顯示警告信息,我該如何擺脫它?
我嘗試添加元屬性的整體轉換,但沒有效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://www.facebook.com/2008/fbml" version="XHTML+RDFa 1.1">
<head>
<meta property="fb:admins" content="<MY_FB_ID>" />
<meta property="og:site_name" content="bowlofgoals" />
<meta property="fb:app_id" content="<MY_APP_ID>" />
<meta property="og:title" content="Bowl of Goals"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="<URL>"/>
<meta property="fb:moderator" content="<MY_FB_ID>" />
而且,請注意,我也實施了Facebook在該網站的根文件夾連接。所以,我的應用程序設置中的「網站網址」是根文件夾,而不是實施Facebook評論的子頁面。
所有的功能都能正常工作....所以我應該怎麼做才能擺脫那個煩人的警告信息?
非常感謝您爲此提供的任何指導。
馬克
你在Facebook調試器中測試了你的url嗎? HTTP://developers.facebook。com/tools/debug – borisdiakur
是的,我收到了以下「必須修復的錯誤」 - 「丟失必填屬性:\t需要url:url屬性,但不存在 Missing Required屬性:\t og:類型屬性是必需的,但不存在 缺少必需屬性:\t og:title屬性是必需的,但不存在。 但正如你所看到的,我已經在頭部添加了所有這些屬性。有沒有另外一種方法可以添加屬性?謝謝。 – markooz
你的og:url標記指向一個URL除了註釋插件所在的那個?如果是這樣,你重定向Facebook的網址需要有標籤 – Igy