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);
无法序列化/反序列化窗口对象。