跟踪javascript中创建的窗口的关闭

时间:2015-04-27 19:50:56

标签: javascript dom

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

这就是我的想法:

$('.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 个答案:

答案 0 :(得分:1)

由于您提到它是针对社交网络OAuth,这意味着弹出窗口是一个不同的域。所以不,由于同源策略,您无法触发事件。如果您可以在该窗口上触发事件,您也可以触发事件来窃取用户的密码。例如,您可以为用户名/密码文本框设置onchange并尝试窃取它。因此,如果它是一个不同的域,则无法编写脚本。您甚至可以通过更改表单action来编辑DOM以使其将密码发布到您的域中。