2011-09-12 42 views
6

我有一個簡單的Facebook像按鈕的頁面,我需要知道什麼時候用戶喜歡的頁面,所以我用edge.create事件來做到這一切都工作正常。我現在需要在頁面中添加一個類似Box的插件來喜歡客戶端的Facebook頁面,並且當有人點擊類似按鈕時,我需要再次收到通知。但是,訂閱事件從不會觸發。任何想法可能是什麼問題?我正在使用xfbml代碼添加類似框。Facebook的edge.create事件沒有在像框上發射

+0

你可以發佈你用來測試的代碼嗎? –

回答

5

這似乎是一個錯誤。這裏有一個鏈接到官方可靠消息來源:

http://developers.facebook.com/bugs/310763168934515

在這裏,我的jsfiddle證明:http://jsfiddle.net/dmcs/3D2GD/1/

編輯

我已經找到了解決方案!

首先我把我的代碼放到我自己的域中,而不是jsFiddle來做更好的測試,但是我的第一次嘗試失敗,就好像代碼仍然在jsFiddle上一樣。所以我進一步麻煩了這種情況。

然後爲我指定我去和指定的WebSite網址上​​

這裏是我的代碼

<html> 
<head> 
    <title>Like Box example</title> 
</head> 

<body> 

<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
     appId: '{APP_ID}' 
    }); 
    FB.Event.subscribe('edge.create', function(response) { 
     alert('You liked the URL: ' + response); 
    }); 
}; 

(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; //js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={APP_ID}"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 


</script> 

<div class="fb-like-box" data-href="http://www.facebook.com/Cocacola" data-width="292" data-show-faces="true" data-stream="true" data-header="true"></div> 

</body> 
</html> 
+0

啊哈!找到了一件事首先,我將我的代碼放到我自己的域中,而不是jsFiddle。然後對於我指定的應用程序,我進入並指定了WebSite網址。我不需要同時指定:'channelUrl:'和'js.async = true;'。我已經編輯了上面的答案來反映這個解決方案。 – DMCS

+0

這並沒有爲我解決它。它似乎有時工作:https://developers.facebook.com/bugs/378710432185222/ – Ponny

1

只需要更換代碼的應用程序設置:

<div class="fb-like-box" data-href="http://www.facebook.com/jsfiddle" 
data-width="292" data-show-faces="true" data-stream="false" data-header="true"> 

與此一個:

<fb:like-box href="http://www.facebook.com/jsfiddle" 
colorscheme="light" show_faces="false" header="false" stream="false" 
show_border="false"></fb:like-box> 

它工作正常。

+0

它爲我工作,但LikeBox插件現在由FB棄用。 – sbedulin

相關問題