使用window.opener在IE中工作,检查父窗口

时间:2015-04-30 20:18:34

标签: javascript internet-explorer window.opener

我有一个类似于此的客户端Javascript函数:

function LoadParent() {
   var objParent = window.opener;
   if (objParent) {
      objParent.location.reload();
   }
   self.close();
}

现在,我的方案是:此代码位于我将调用CHILD.aspx的页面中。此页面将在我将调用PARENT.aspx。

的新窗口中打开

这是我的问题:即使PARENT.aspx已关闭(换句话说,CHILD.aspx是孤立的),也需要运行。在这种情况下,它会跳过IF语句(因为它没有找到PARENT.aspx)并且只是关闭窗口。

适用于所有浏览器。 。 。互联网爆炸者除外。我在IE10中测试。

我添加了一个警报(objParent); var objParent声明后的行,看看发生了什么。我发现当这种情况出现在Firefox中时,它返回NULL(正如预期的那样)。但是当我在IE中运行它时,它返回了一个对象(预期 NOT )。因此它会直接通过IF停止标志并试图重新加载父母 - 当然,这会因为父母不再在那里而爆炸。

有人有什么想法吗?这是一个令我非常沮丧的问题。

注意:打开CHILD.aspx作为模态不是一个选项。即使在CHILD.aspx打开后,也需要访问PARENT.aspx。

0 个答案:

没有答案