Javascript 重定向后window.opener是否为空?

Javascript 重定向后window.opener是否为空?,javascript,internet-explorer,twitter,oauth,Javascript,Internet Explorer,Twitter,Oauth,因此,我在我的网站上添加了一个“使用Twitter登录”按钮。我在弹出窗口中显示twitter登录。当用户登录到twitter时,他们会被重定向回我网站上的一个页面,该页面调用window.opener上的javascript函数,通知该页面登录已完成并刷新 问题在于twitter将用户重定向回我的站点窗口后。opener为空。如果我绕过twitter登录页面,脚本就可以正常工作。这似乎也是IE的问题,因为它在firefox中运行良好 有什么想法吗 提前谢谢 也许你可以使用一个包含iframe的

因此,我在我的网站上添加了一个“使用Twitter登录”按钮。我在弹出窗口中显示twitter登录。当用户登录到twitter时,他们会被重定向回我网站上的一个页面,该页面调用window.opener上的javascript函数,通知该页面登录已完成并刷新

问题在于twitter将用户重定向回我的站点窗口后。opener为空。如果我绕过twitter登录页面,脚本就可以正常工作。这似乎也是IE的问题,因为它在firefox中运行良好

有什么想法吗


提前谢谢

也许你可以使用一个包含iframe的lightbox来登录Twitter。然后您可以使用“top”而不是“window.opener”。

检查。如果您首先在弹出窗口中提供您自己域的页面,则不会丢失父信息。至少对我来说是这样。

什么时候window.opener为空。当您重定向弹出窗口或父页面时?如果是后者,这是正常行为IIRC,
opener
指向打开的文档而不是窗口。它指向
window
对象,但是是的,
opener
是暂时的,不能承受文档加载。在弹出窗口中登录不是一个好主意。是的,很明显,正是弹出窗口被重定向并试图调用window.opener。我的要求是使用twitter登录,并且不要将用户从我们的页面上引开。Twitter在iFrame中阻止使用他们的登录,所以弹出窗口是我唯一的选择。如果重定向后无法引用window.opener,那么如何通知父窗口子窗口正在关闭且登录已完成?如果确实必须,则可以在支持它的浏览器上使用HTML5
postMessage
,进行跨窗口通信,或者无法从一个窗口写入
document.cookie
,然后在另一个窗口中读取。但这不是一个好主意。“不将用户重定向到我们的页面之外”是一个典型的冒牌经理要求。这是我的第一个想法。然而,twitter在他们的登录页面中嵌入了代码,设计用于在iFrame中显示时中断页面。