/******************************************************************************************************************************************************** * Nom de la fonction: subscribe * * * * Description: Inscrit un évènement "comment.create" qui sert par la suite à appeler la page netino "new_comment.asp" lorsqu'un commentaire facebook * * est ajouté sur la page web * * * *Date mise à jour: 10/10/2012 * ********************************************************************************************************************************************************/ function subscribe() { try { //On créé un iframe qui sert par la suite pour appeler une url sur le serveur Netino if (!document.getElementById("FrmNetino")) { var fbody = document.getElementsByTagName("body")[0]; var fiFrame = document.createElement("iframe"); fiFrame.id = "FrmNetino"; fiFrame.style.position = "absolute"; fiFrame.style.top = "-1000px"; fbody.insertBefore(fiFrame, fbody.firstChild); } //Fonction standard facebook qui inscrit un évènement lorsque l'utilisateur ajoute un nouveau commentaire FB.Event.subscribe('comment.create', function (response) { var url = "https://facebookcomment.moderatus.netino.com/ws/facebook/comment/new_comment.asp?origine=FCVOI&commentID=" + response.commentID + "&href=" + response.href; document.getElementById("FrmNetino").src = url; }); } catch(err) { } } /******************************************************************************************************************************************************** * Nom de la fonction: wait_init_fb_complete * * * * Description: Attend le chargement complet du plugin "FB Comment" sur la page web avant d'appeler la fonction "subscribe()" * * * *Date mise à jour: 10/10/2012 * ********************************************************************************************************************************************************/ function wait_init_fb_complete() { //Si la variable facebook FB n'est pas encore initialisée on attend 500 millisecondes avant de refaire l'appel NbAttemps -= 1; if (NbAttemps >= 0) {//On teste pendant 10 minutes avant de quitter le traitement ==> le composant FB Comment n'est pas chargé sur la page if (typeof (FB) == 'object') { setTimeout(function (){subscribe();}, 500);/*Sur certains navigateurs (comme Opera et des versions anciennes de IE) l'appel direct de la fonction 'subscribe()' n'aboutit pas à cause de l'initialisation de la variable FB, c'est pour ça qu'on l'appelle ici avec un petit délai de 500 millisecondes */ //subscribe(); } else { setTimeout(function (){wait_init_fb_complete();}, 500); } } } /********************************************** On appelle la fonction wait_init_fb_complete la première fois *********************************/ var NbAttemps = 1200; //On essaye de récupérer la variable facebook FB pendant 10 minutes avant de quitter le traitement en cas d'échec setTimeout(function (){wait_init_fb_complete();}, 500); //alert("OK");