2011-09-12 17 views
6

Avevo una pagina con un semplice pulsante di Facebook e avevo bisogno di sapere quando l'utente ha gradito la pagina, quindi ho usato l'evento edge.create per fare ciò che ha funzionato. Ora ho bisogno di aggiungere un plug-in simile alla pagina alla pagina Facebook del cliente e di nuovo ho bisogno di essere avvisato quando qualcuno fa clic sul pulsante Mi piace. Tuttavia, l'evento subscribe non viene mai attivato. Qualche idea su quale potrebbe essere il problema? Sto usando il codice xfbml per aggiungere la scatola simile.Facebook edge.create evento che non si attiva su come casella

+0

Puoi pubblicare il codice che stai utilizzando per testare questo? –

risposta

5

Sembra un bug. Ecco un link per fonti credibili ufficiali:

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

E il mio jsFiddle qui per dimostrare: http://jsfiddle.net/dmcs/3D2GD/1/

EDIT

ho trovato la soluzione!

Prima ho inserito il mio codice nel mio dominio piuttosto che jsFiddle per eseguire test migliori, tuttavia il mio primo tentativo non è riuscito come se il codice fosse ancora su jsFiddle. Così ho disturbato ulteriormente la situazione.

Poi per l'impostazione app ho specificato Entrai e specificato il WebSite url https://developers.facebook.com/apps/{APP_ID}/summary

Ecco il mio codice

<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! Trovato qualcosa !!! Per prima cosa ho messo il mio codice sul mio dominio piuttosto che su jsFiddle. Quindi per l'app che ho specificato sono entrato e ho specificato l'URL del sito. Non avevo bisogno di specificare né: 'channelUrl:' né 'js.async = true;'. Ho modificato la mia risposta sopra per riflettere questa soluzione. – DMCS

+0

Questo non l'ha risolto per me. A volte sembra funzionare: https://developers.facebook.com/bugs/378710432185222/ – Ponny

1

solo bisogno di sostituire il codice:

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

con questo uno:

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

e funziona bene.

+0

Ha funzionato per me, ma il plugin LikeBox è ora deprecato da FB. – sbedulin

Problemi correlati