我成功地显示了一个邀请朋友对话框(代码如下所示)。当用户单击跳过 iframe/对话框时,会显示一个新页面。但是从这一点来看,我找不到关闭 iframe/对话框的方法。FB.ui 不返回任何对象,似乎没有 Javascript SDK 方法,并且使用 DOM 遍历和操作对于任何 FB 代码更改都是脆弱的。
有任何想法吗?
function popupInviteForm(actionUrl) {
var fbmlString = '<fb:fbml>' +
' <fb:request-form type="POST" content="Play against me in game?" action="' + actionUrl + '" method="post" >' +
' <fb:multi-friend-selector target="_self" exclude_ids="" max="20" cols="4" rows="3" showborder="false" actiontext="Invite friends!" />' +
' </fb:request-form>' +
'</fb:fbml>';
FB.ui({
method: 'fbml.dialog',
fbml: fbmlString,
display: 'dialog',
size: {width:640,height:480}, width:640, height:480
});
$(".FB_UI_Dialog").css('width', $(window).width()*0.8);
}
(注意:我在facebook 论坛上发布了同样的问题,但没有任何回应。我会更新两者,如果有答案的话。)
Javascript 代码改编自堆栈溢出答案。