2011-12-01 45 views
2

我正在嘗試使Facebook評論社交插件here與我在Ajax中的Ajax調用一起工作,但不成功。在Ajax調用後出現Facebook評論框

我點擊鏈接後,通過jQuery load()調用一個頁面。這給我帶來了該頁面的所有內容。我已經試過以下不已:

添加下面的代碼在加載頁面,或在原來的頁面(調用的):

<div class="fb-comments" data-href="<?php echo $commentsFB; ?>" data-num-posts="5" data-width="500"></div>

如果我在原來的頁面中添加它,評論框會顯示,但我不想讓它立即顯示,我只希望它在用戶點擊鏈接時顯示!我能做些什麼來使它工作?我試圖通過jQuery與(field).hide()隱藏盒子,但它不起作用,它顯示了任何方式。

如果你想要一個例子http://dev.bsides.co/wasabi/gol/goleiros/(點擊藍色名稱)

+0

已經嘗試過這一點,在事件包括hashtag改變'$ ('div#goleirosAjax')。('

'); }); });' – bsides

回答

0

嗯,我剛弄明白。我需要撥打電話並在點擊鏈接時進行呈現。然後,我還重新分析Facebook的內容並隱藏舊Facebook的評論。這更簡單展示我的函數,在URL變化一次哈希值發生變化:

$("#goleirosAjax") 
    .animate({opacity: "0.5"}) 
    .html('<p>Loading...</p>') 
    .load(url, function() { 
     $("#goleirosAjax").animate({opacity: "1"}); 
     $('.fb-comments').hide(); 
     $('#goleirosAjax').after('<div class="fb-comments" data-href="'+ window.location.href +'" data-num-posts="5" data-width="500"></div>'); 
     FB.XFBML.parse($('#goleirosAjax')); 
    }); 
+0

更好的是,使用hide()函數刪除它,將它從點擊funcion中刪除,並讓它只在url的hashtag變化上綁定。然後,而不是hide(),使用remove(),這樣你就會有一個更清晰的代碼:) – bsides

1

剛剛發現一個更快的方法來改變意見,只是改變了HREF:

$(".fb-comments").attr('data-href', data_href); 
    FB.XFBML.parse();