我正在构建一个Facebook应用程序,该应用程序在网站的标签页中作为iframe运行。
弹出窗口我使用here中推荐的东西:
当我打开这样的弹出窗口时:
var friend_url = "http://www.facebook.com/dialog/apprequests?app_id=**appid**&display=popup&redirect_uri=**canvasurl**&message=Mesage!"
window.open(friend_url, "Friends", "height=400,width=580,modal=yes,alwaysRaised=yes");
然后打开一个dialpg-popup。 我现在想要的是什么如果用户点击,接受或取消对话窗口应该关闭。 我怎么能这样做?
感谢。
答案 0 :(得分:2)
您提供的页面redirect_uri
的值可以发出JavaScript命令self.close();
,在用户选择“接受”或“取消”后,Facebook将重定向到提供的redirect_uri
位置,关闭窗口。在关闭窗口之前,请确保执行任何需要处理的处理:错误处理或处理响应。一旦你做了,它就消失了!
编辑以反映以下评论:
var auth_win = window.open(friend_url, "Friends", options);
然后你需要以某种方式检测用户的操作是否完整,并发出如下内容:
auth_win.close();
如果您无法检测到操作何时完成,则会有一些断开连接。如果您的意思是redirect_uri始终是您的标签应用程序或画布URL,那么您可以将参数添加到查询字符串,即url?auth=complete
或哈希后,即url#authorized
。然后,一旦检测到,请关闭变量引用的窗口。