2011-11-04 81 views
2

我正在開發一個實現「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評論的子頁面。

所有的功能都能正常工作....所以我應該怎麼做才能擺脫那個煩人的警告信息?

非常感謝您爲此提供的任何指導。

馬克

+0

你在Facebook調試器中測試了你的url嗎? HTTP://developers.facebook。com/tools/debug – borisdiakur

+0

是的,我收到了以下「必須修復的錯誤」 - 「丟失必填屬性:\t需要url:url屬性,但不存在 Missing Required屬性:\t og:類型屬性是必需的,但不存在 缺少必需屬性:\t og:title屬性是必需的,但不存在。 但正如你所看到的,我已經在頭部添加了所有這些屬性。有沒有另外一種方法可以添加屬性?謝謝。 – markooz

+0

你的og:url標記指向一個URL除了註釋插件所在的那個?如果是這樣,你重定向Facebook的網址需要有標籤 – Igy

回答

1

考慮檢查您的頁面的JavaScript錯誤。我遇到了和你一樣的問題,無論我添加了什麼標籤,無論我做了什麼,該插件都無法工作。

在仔細觀察Firebug後,我發現我的模板中有一個滑塊腳本導致了一個javascript錯誤。刪除該腳本,現在一切都像魅力一樣。

我認爲錯誤是打破了我的所有JavaScript包括Facebook的,這就是爲什麼插件沒有工作。

1

我被改變數據HREF與我在網站設置與Facebook登錄網站URL價值擺脫錯誤的。所以,我有http://domain.org/contest/在我的網站的網址和我數據HREFhttp://domain.org/contest

但我有同樣的問題,因爲你在我的評論插件是在一堆網頁,網址是動態的,所以像http://domain.org/contest/id/13131http://domain.org/contest/id/4848但我不能把這些網址中的任何一個放在我的data-href。我不得不把http://domain.org/contest,而不是爲了擺脫這個錯誤。

相關問題