2015-04-27 60 views
0

我正在为我的网站进行OAuth登录。当用户点击OAuth链接时,我想打开一个新窗口,当该窗口关闭时,我想更新父页面。在javascript中关闭创建的窗口

这是我想到的:

$('.social').click(function() 
{ 

    var url = $(this).attr('href'), newWindow; 

    newWindow = window.open('', 'closeWhenDone', 'width=500, height=800'); 
    newWindow.onbeforeunload = getOAuth; 
    newWindow.location.href = url; 

    return false; 

}); 

然而,一旦页面重定向到社交网络的授权,该事件侦听器走了,所以父页面不会重新加载。

创建窗口关闭时触发事件的方式是什么?

回答

1

既然你提到它是一个社交网络OAuth,这将意味着弹出窗口是一个不同的域。所以不,你不能因为同源政策而引发事件。如果您可以在该窗口上触发事件,则您也可以触发事件来窃取用户的密码。例如,您可以为用户名/密码文本框设置onchange并尝试窃取它。因此,如果它是一个不同的域,你不能编写它。您甚至可以编辑DOM以使其将密码发布到您的域名,而不是通过更改action的形式。

+0

是的,我看到了这个信息,但是我的问题只是在窗口关闭时跟踪,这不可能吗? – SkaN

+0

我不相信任何沟通是被允许的。即使“关闭”也会导致“信息泄露”,例如用户在网站上的时间长度。 – dman2306

+0

嗯......好的,谢谢,我会试着找到另一种方式 – SkaN