友人を招待するダイアログを正常に表示しています (以下にコードを示します)。ユーザーがスキップをクリックすると、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 コードは、スタック オーバーフローの回答から改作されました。