Javascript 如果弹出窗口的url发生变化,如何收听弹出窗口的“消息”?
关于urlJavascript 如果弹出窗口的url发生变化,如何收听弹出窗口的“消息”?,javascript,Javascript,关于urlhttp://localhost:9001/mypage我有一个弹出窗口,其中包含某项服务的认证url const authUrl = 'http://someauthservice.com/someurl' const authPopup = window.open(authUrl, ''); authPopup.addEventListener('message', (event: any) => { console.log(event); });
http://localhost:9001/mypage
我有一个弹出窗口,其中包含某项服务的认证url
const authUrl = 'http://someauthservice.com/someurl'
const authPopup = window.open(authUrl, '');
authPopup.addEventListener('message', (event: any) => {
console.log(event);
});
当用户在该url上进行身份验证时,弹出窗口将重定向到我的回调urlhttp://localhost/callbackurl
,在我这边有一个简单的页面,上面有代码,显示窗口消息:
window.postMessage('hey ho', 'http://localhost:9001/mypage');
在此流中,事件侦听器将丢失事件并不运行回调:
const authUrl='1'打开弹出窗口http://someauthservice.com/someurl'
auth
按钮const authUrl='1'打开弹出窗口http://localhost/callbackurl“
更新:我的想法是允许用户在第三方服务上进行身份验证,然后当它用一些代码重定向到我的url时,我知道身份验证是成功的,因此我希望我的主机应用程序运行一些逻辑,例如,将一些变量从
Pending
更新为Verified
如果授权服务重新加载其页面,则会出现一个全新的文档
对象。打开弹出窗口后,您能更清楚地询问您想要什么吗?不,您无法获得有关url更改的通知,除非弹出窗口明确向您发送有关相同的消息事件。您可以尝试将消息发布到窗口。opener
而不是窗口
。然后你可以把监听器放在主窗口上。@Pointy它起作用了,谢谢@尖刻的你们应该把这变成一个答案!它帮助了我,但我几乎错过了它