我正在为我的网站进行 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;
});
但是,一旦页面重定向到社交网络进行授权,事件监听器就会消失,因此父页面不会重新加载。
创建的窗口关闭时如何触发事件?
最佳答案
既然您提到它用于社交网络 OAuth,这意味着弹出窗口是不同的域。因此,不,由于同源策略,您无法触发事件。如果您可以在该窗口上触发事件,那么您也可以触发事件来窃取用户的密码。例如,您可以为用户名/密码文本框设置 onchange 并尝试窃取它。因此,如果它是不同的域,则无法编写脚本。您甚至可以编辑 DOM,使其将密码发布到您的域,而不是通过更改表单 action
。
关于javascript - 在 javascript 中跟踪创建的窗口的关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29904709/