2 votes

Qu'est-ce que FB.Arbiter.inform ?

Que fait exactement Arbitre FB. à l'intérieur de l'objet "connect.facebook.net/en_US/all.js " ?

Est-ce que c'est quelque chose pour la communication entre les iframes ? Il y a une informer fonction à l'intérieur Arbitre FB. qui crée une iframe invisible à l'intérieur de l'application iframe.

c'est la source de la fonction d'information :

function (d, f, g, c, a) 
{
    if (FB.Canvas.isTabIframe() || FB._inPlugin && window.postMessage || !FB._inCanvas && FB.UA.mobile() && window.postMessage) 
    {
        var e = FB.JSON.stringify({
            method : d, params : f, behavior : a || FB.Arbiter.BEHAVIOR_PERSISTENT
        });
        if (window.postMessage) {
            FB.XD.resolveRelation(g || "parent").postMessage(e, "*");
            return;
        }
        else {
            try {
                window.opener.postMessage(e);
                return;
            }
            catch (b) { }
        }
    }
    var i = FB.getDomain((c ? "https_" : "") + "staticfb") + FB.Arbiter._canvasProxyUrl + "#" + FB.QS.encode(
    {
        method : d, params : FB.JSON.stringify(f || {}), behavior : a || FB.Arbiter.BEHAVIOR_PERSISTENT, 
        relation : g
    });
    var h = FB.Content.appendHidden("");
    FB.Content.insertIframe(
    {
        url : i, root : h, width : 1, height : 1,
        onload : function () 
        {
            setTimeout(function () 
            {
                h.parentNode.removeChild(h);
            }, 10);
        }
    });
}

Quelqu'un peut-il expliquer cette fonction ?

4voto

wecsam Points 2271

Facebook a une classe appelée Arbiter qui gère les événements. Il s'agit en fait du propre système d'événements de Facebook. Vous pouvez lier une fonction à un événement à l'aide de la fonction Arbiter.subscribe("id/id",function_name) . "id/id" est juste une chaîne qui identifie un nom personnalisé pour un événement. Lorsque vous appelez Arbiter.inform("id/id",{data:"in an object"}) toutes les fonctions qui ont été souscrites à l'aide de la même méthode d'enregistrement. "id/id" comme function_name() sont appelés, et {data:"in an object"} lui est passé comme deuxième argument. (Le premier argument est juste "id/id" .)

En d'autres termes, Arbiter.inform() déclenche des événements dans le système d'événements de Facebook.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X