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

标签 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;

});

但是,一旦页面重定向到社交网络进行授权,事件监听器就会消失,因此父页面不会重新加载。

创建的窗口关闭时如何触发事件?

最佳答案

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

关于javascript - 在 javascript 中跟踪创建的窗口的关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29904709/

相关文章:

javascript - 在 React.js 中,我将如何设置一个简单的全局事件系统来在组件之间进行通信?

java - DOM 中什么是元素,什么不是元素?

javascript - 递归扫描 DOM 元素 - Javascript

javascript - html5,什么是isContentEditable?

javascript - 这 2 种方法哪种更有效?

javascript - 在 Windows 中预编译 Handlebars.js 模板

javascript - jQuery .detach/append 在 if/else 语句中

javascript - 如何让 jquery 选择已使用 client.open 加载的 html 中的类

javascript - OpenLayers 3 - 在 map 上显示文本,文本大小相对于缩放

javascript - style.display = 'block' 在 div 上的 javascript 中不起作用