2011-09-12 30 views
6

Tôi đã có một trang với một nút đơn giản như Facebook và tôi cần biết khi nào người dùng thích trang vì vậy tôi đã sử dụng sự kiện edge.create để làm điều này mà tất cả đều hoạt động tốt. Bây giờ tôi cần phải thêm một plugin Box giống như trang để thích trang facebook của khách hàng và một lần nữa tôi cần được thông báo khi ai đó nhấp vào nút thích. Tuy nhiên, sự kiện đăng ký không bao giờ cháy. Bất kỳ ý tưởng những gì có thể là vấn đề? Tôi đang sử dụng mã xfbml để thêm hộp tương tự.Facebook edge.create sự kiện không kích hoạt trên hộp như

+0

Bạn có thể đăng mã bạn đang sử dụng để kiểm tra điều này không? –

Trả lời

5

Dường như đây là lỗi. Dưới đây là một liên kết đến các nguồn đáng tin cậy chính thức:

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

Và jsFiddle của tôi ở đây để chứng minh: http://jsfiddle.net/dmcs/3D2GD/1/

EDIT

tôi đã tìm thấy các giải pháp!

Trước tiên, tôi đặt mã của mình lên miền của riêng mình thay vì jsFiddle để thực hiện thử nghiệm tốt hơn, tuy nhiên lần thử đầu tiên của tôi không thành công như thể mã vẫn nằm trên jsFiddle. Vì vậy, tôi khắc phục sự cố thêm.

Sau đó cho các thiết lập ứng dụng tôi đã chỉ định tôi đi vào và quy định url WebSite trên https://developers.facebook.com/apps/{APP_ID}/summary

Dưới đây là mã của tôi

<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

Aha! Tìm thấy một cái gì đó !!! Trước tiên, tôi đặt mã của mình lên miền của riêng mình thay vì jsFiddle. Sau đó, đối với ứng dụng tôi đã chỉ định, tôi đã truy cập và chỉ định url WebSite. Tôi không cần phải chỉ định cả hai: 'channelUrl:' cũng không phải 'js.async = true;'. Tôi đã chỉnh sửa câu trả lời ở trên để phản ánh giải pháp này. – DMCS

+0

Điều này không khắc phục được cho tôi. Đôi khi nó có vẻ hoạt động: https://developers.facebook.com/bugs/378710432185222/ – Ponny

1

chỉ cần thay thế mã:

<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"> 

với điều này một:

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

và hoạt động tốt.

+0

Nó hoạt động cho tôi, nhưng plugin LikeBox hiện không được FB chấp nhận. – sbedulin

Các vấn đề liên quan