权限被拒绝试图在IE中关闭window.open

时间:2012-01-20 14:45:43

标签: javascript internet-explorer cross-domain facebook-oauth permission-denied

我在主窗口的弹出窗口中进行服务器端的facebook身份验证。它基本上是这样的:

  1. 点击FB登录按钮弹出窗口使用window.open
  2. 这个新窗口伸出到我的服务器,它试图在后端进行身份验证。
  3. 如果FB重定向,则会在弹出窗口中显示FB身份验证页面。此时,FB处于控制之中。
  4. 用户进行身份验证后,FB会使用我提供的网址重定向回我的服务器。
  5. 我的服务器用一些JavaScript响应,如下所示:

    opener.window.location ='/ nextPage.html';

    self.close();

  6. 在所有浏览器中,这种方法效果很好......除了IE(并且,毫不奇怪,它在某些时候也适用于IE)。在IE中,我在调用opener.window.location时收到“Permission Denied”错误。

    我意识到IE认为这是跨域的,因为窗口进入了Facebook的热门时间,但是试图关闭窗口的页面来自与父级相同的域。我怎样才能在IE中使用这样的东西?

    谢谢!

0 个答案:

没有答案