作者howardwang (Howard)
看板Ajax
标题[问题] opener in Chrome
时间Thu Apr 19 22:57:45 2012
背景说明:
mvc架构,利用ctrl servlet来指定要显示的页面
操作流程:
在ctrl?page=login中输入帐号/密码,
按下"登入"後, 会refresh ctrl?page=login,
如果成功登入, ctrl?page=login的帐号/密码栏位, 就会被隐藏起来,
取而代之的是一个button,
接着, 会蹦现出一个popup视窗, 网址是ctrl?page=init,
然後再将页面导向至ctrl?page=frontpage,
使用者开始使用web app.
(上文提到的button, 按下之後, 也会蹦现popup视窗, 进入web app)
在ctrl?page=frontpage视窗中,
点选"登出"後, 会清掉session, 关闭popup视窗,
然後refresh opener (即 ctrl?page=login)
这时候因为已经登出了, 所以ctrl?page=login会隐藏button,
然後显示帐号/密码栏位.
问题:
在Firefox 10/IE9中, 登出之後, 都可以成功refresh opener
但是在Chrome中, 登出之後, 却无法refresh opener
後来我在popup中,
console.log(opener.location.href)
在firefox和ie中, 都显示ctrl?page=login
但是在chrome中, 显示的却是
ctrl?page=frontpage
如果我把popup关掉(按右上角的x, 而非登出),
然後再按ctrl?page=login中的button开启popup,
这时候显示出来的opener.location.href就是ctrl?page=login
不好意思,讲得有点凌乱,希望看得懂我在表达什麽...
有人能够释疑吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.138.49