Home / Programmazione / Javascript - AJAX / Facebook events in Javascript
Mattepuffo

Facebook events in Javascript

Facebook events in Javascript

Molto spesso si crea l'esigenza di eseguire del codice personale quando l'utente clicca sul Like di Facebook che abbiamo implementato nelle nostre pagine web.

Ad esempio, nel mio caso, quando un utente fa il like deve cambiare tipo di account.

FB mette a disposizione di noi sviluppatori la possibilità di interagire con i suoi eventi.

Nello specifico qui trovate tutti i possibili eventi da usare.

Noi faremo un esempio sul Like (l'unico che mi è servito); diciamo che gli altri sono uguali, cambia solo il nome dell'evento.

Prima di tutto includiamo l'SDK Javascript e inizializiamolo:

        <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
        <script>
            $(document).ready(function() {
                FB.Event.subscribe('edge.create', function() {
                    changeAccount('<?php echo $_GET['cliente_id']; ?>');
                });
            });
        </script>

Con la prima riga richiamiamo l'SDK.

Sotto c'è il codice che verrà richiamato quando faremo il Like.

La funzione changeAccount è una funzione mia personale; questo vi fa capire quanto è impostato bene FB per interagire con tutto l'ambiente circostante.

Poi il nostro Like:

<fb:like href="<?php echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>" send="true" layout="button_count" width="100" show_faces="false"></fb:like>

Come vedete qua non faccio praticamente nulla di personalizzato.

A parte la pagina che indichiamo che piace (quella corrente) il resto è identico al codice che ci crea FB sulla pagina degli sviluppatori.

Come detto sopra non mostro altri eventi, in quanto è abbastanza semplice modificare questo codice adattondolo ai commenti (comment.create), al login (auth.login), ecc.....

Ultima cosa è la funzione unsuscribe, che in pratica ci permetee di disabilitare la sottoscrizione all'evento (magari in qualche pagina non volete che succeda nulla).

La sintassi cambia un pò anche dal punto di vista del subscribe:

        <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
        <script>
            var myfunc = function() {
                 changeAccount('<?php echo $_GET['cliente_id']; ?>');
            }
            $(document).ready(function() {
                FB.Event.subscribe('edge.create', myfunc);

               FB.Event.unsubscribe('edge.create', myfunc);
            });
        </script>

Potete guardare qua.