Javascript 跨重定向保留window.opener属性

Javascript 跨重定向保留window.opener属性,javascript,redirect,Javascript,Redirect,从我的网站,我在一个新窗口中打开一个登录对话框: window.open('mysite/Login/'); mysite/Login/自动将我重定向到OAuth提供程序。 OAuth提供程序执行hokey pokey操作,然后使用有效凭据将我重定向回mysite/Login/ 现在是棘手的部分:我想告诉应用程序(window.opener)登录已经准备好 我试图在mysite/Login中返回以下HTML: <html><script> window.ope

从我的网站,我在一个新窗口中打开一个登录对话框:

window.open('mysite/Login/');
mysite/Login/
自动将我重定向到OAuth提供程序。 OAuth提供程序执行hokey pokey操作,然后使用有效凭据将我重定向回
mysite/Login/

现在是棘手的部分:我想告诉应用程序(
window.opener
)登录已经准备好

我试图在
mysite/Login
中返回以下HTML:

<html><script> 
    window.opener.MyApp.proceedAfterLogin()
</script></html>

window.opener.MyApp.proceedAfterLogin()
但这就产生了错误

登录名:2未捕获类型错误:无法读取null的属性“MyApp”

因此
window.opener
为空。我认为它不是通过重定向来保存的;这个假设正确吗?我怎样才能达到同样的结果


我可以将JavaScript对象放入cookie中吗?(我不这么认为,cookie只能存储文本,对吗?

最简单的解决方案是将值存储为localStorage,然后在OAuth完成时检索

locationStorage.setItem('opener', JSON.stringify(window.opener));
然后,一旦OAuth完成,就开始执行

window.opener = JSON.parse(locationStorage.opener);

无法序列化/反序列化窗口对象。