这与具有相同错误消息的许多其他类似帖子不同,与域无关。
这是我的设置:
<iframe src='somepage' />
用户可以从某个页面中打开一个弹出窗口,并使用 window.open。假设我的弹出窗口保持打开状态,并且新的源页面“secondPage”被交换到同一个 iframe 中。我的弹出窗口仍然可以是它的“开启者”,但每当我尝试访问开启者时,它都会抛出一个访问被拒绝的脚本错误。
所以我的问题是,我如何才能访问它或检查它是否已关闭以便我不尝试访问它?我试图检查 window.opener.closed 是否返回给我一个 false.....
最佳答案
您的开启器将有一个名为 closed
的属性,您可以检查它是否已关闭(或导航离开)。如果它已关闭,检查 opener
上的任何其他属性将引发错误,因为窗口对象已被销毁。
我刚刚注意到您知道 closed
属性。我以前用过这个,从来没有遇到过问题。
您使用的是什么浏览器?发布您正在运行的代码。如果都失败了,使用 try catch
来检测访问 opener 时发生的错误。
IE 框架错误 您所描述的内容在评论中列为错误 http://msdn.microsoft.com/en-us/library/ms533574(v=VS.85).aspx
关于Javascript 访问被拒绝 - 在 iframe 中不再使用 parent 后无法访问 opener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754435/