我有我的網站上的ajax驅動的新聞部分。我正在嘗試實現Facebook Like按鈕的xfbml版本,並遇到了一些問題。Facebook的xfbml像按鈕無法正常工作
第一次點擊新聞項目上的「Like」時,沒有任何og標籤被拉入,所以您只能看到一個評論框。勉強,如果我然後查看另一個新聞項目並返回到第一個新聞項目,類似的按鈕工作正常,所有og數據被正確拉動。這似乎是某種緩存問題?
我也遇到了一個問題,在點擊之後,浮動彈出框消失,然後纔有機會輸入評論。它在那裏幾分之一秒。如果我不喜歡新聞並喜歡它,浮動彈出框最終會保持放置狀態,但可能需要嘗試幾次。
這裏是頭
<!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://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en-GB" lang="en-GB">
<head>
<meta property="og:title" content="She's in fashion"/>
<meta property="og:type" content="article"/>
<meta property="og:url" content="http://www.kirkleescollege.ac.uk/news/1103"/>
<meta property="og:image" content="http://www.kirkleescollege.ac.uk/photo/news/1103/full"/>
<meta property="og:site_name" content="Kirklees College"/>
<meta property="og:description" content="This year Rebekah Crowther will take the first steps towards her dream career in fashion retail thanks to a new course at Kirklees College."/>
<title>Kirklees College News - She's in fashion</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
的樣本,這是人體的代碼,目前的測試服務器,而不是活的服務器上。
<div id="fb-root"></div>
<script>
$(document).ajaxComplete(function(){
try{
FB.XFBML.parse();
}catch(ex){
}});
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#appId=APPID&xfbml=1";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div id="fb-root"></div>
<script>(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#appId=APPID&xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.kirkleescollege.ac.uk/news/<?php echo $id; ?>" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false"></div>
的東西coulpe提關於上述代碼,現場代碼我的應用程序ID設置,但我不知道這是否是讓我在這裏已經刪除了敏感信息。我假設這兩個應用程序ID應該是相同的?
FB.XFBML.parse()代碼來自Stackoverflow。它允許類似的按鈕加載在ajax驅動的頁面上。
我不明白的是爲什麼它是間歇性的。你會認爲如果錯誤的東西仍然是一致的。
希望有人能幫助,因爲這是推動我瘋了!
它也值得一提,所有有關問題,純粹是我的網站上結束。當點擊「發佈到Facebook」時,即使彈出窗口中沒有出現og內容,它通常會顯示在我的Facebook頁面上。 – iltdev