どうすればFB.Arbiterオブジェクト内"connect.facebook.net/en_US/all.js"?FB.Arbiter.informとは何ですか?
iframe間のコミュニケーションのためのものですか? 内にはFB.Arbiterのiframeアプリ内に見えないiframeを作成する機能があります。
これは、通知機能の源である:
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);
}
});
}
誰かがこの機能を説明することができますか?
すばらしい説明、ありがとう! Arbiterシステムに送られるすべてのFacebookのイベントを記録する簡単な方法があるかどうか知っていますか? – user280109
@ user280109「Arbiter.subscribe( "*/*"、my_function)かどうかは頭の上からわかりません。あなたは、おそらく試みることができます。もう一つの方法は 'Arbiter.inform()'関数をハイジャックすることです: 'var Arbi = Arbiter.inform; Arbiter.inform = function(id、data){コンソール。ログ(ID、データ); Arbi(id、data);} ' – wecsam
素晴らしい!それは素晴らしい作品です、多くの感謝! :D – user280109