Javascript 登录弹出窗口-向家长发送事件或消息

Javascript 登录弹出窗口-向家长发送事件或消息,javascript,extjs,spotify,Javascript,Extjs,Spotify,我正在使用Extjs和Java。Spotify用户登录是在浏览器弹出窗口中执行的,我的所有身份验证过程都正常工作 我需要告诉父窗口登录成功,然后关闭窗口 但是,在处理客户端登录后,我遇到了一个问题—我在父窗口上放置的任何侦听器都不会从弹出窗口中拾取事件或消息 虽然如果用户已经登录,那么监听器在窗口完成该过程时也会工作 如果您能提供任何有关Spotify重定向/登录过程为何会中断侦听器/事件的线索,我们将不胜感激: 最后,我在父窗口上设置了一个侦听器,以侦听来自子窗口的消息事件,这很有效 关于家长

我正在使用Extjs和Java。Spotify用户登录是在浏览器弹出窗口中执行的,我的所有身份验证过程都正常工作

我需要告诉父窗口登录成功,然后关闭窗口

但是,在处理客户端登录后,我遇到了一个问题—我在父窗口上放置的任何侦听器都不会从弹出窗口中拾取事件或消息

虽然如果用户已经登录,那么监听器在窗口完成该过程时也会工作


如果您能提供任何有关Spotify重定向/登录过程为何会中断侦听器/事件的线索,我们将不胜感激:

最后,我在父窗口上设置了一个侦听器,以侦听来自子窗口的消息事件,这很有效

关于家长:

var width = 450,
height = 400,
left = (screen.width / 2) - (width / 2),
top = (screen.height / 2) - (height / 2);

var w = window.open('http://localhost:8080',
    'MyWindow',
    'menubar=no,location=no,resizable=no,scrollbars=no,status=no, width=' + width + ', height=' + height + ', top=' + top + ', left=' + left
);

 window.addEventListener("message", receiveMessage, false);

 function receiveMessage(event)
 {
     if (event.origin !== "http://localhost:8080") {
         return;
     }
     console.log('User logged in');
     window.removeEventListener("message", receiveMessage, false);
     w.close();
     // more logic...
  }
在子窗口上:

this.opener.postMessage("User logged in", "*");