我正在尝试使用以下 JavaScript 来检查弹出页面是否仍然打开。
父页面(调用页面以打开弹出窗口)已打开,但此代码仍然失败。我从一个 aspx 弹出页面调用它,该页面在另一个母版页中有一个母版页。因此,最终调用此脚本的单击事件是内容占位符中的 Gridview 中的编辑链接,该内容占位符位于最上面的母版页内容占位符中,不确定这是否与之有关。脚本会触发,但它不会看到父页面处于打开状态且未关闭。
if (window.opener != null && !window.opener.closed) {
alert(window.opener);
var val = window.opener.parentFunc(a);
alert(a);
}
这是 IE 特有的问题,Firefox 可以识别 window.opener
页面。尝试了多个版本的 IE 都有问题,但 Firefox 和 Opera 可以。
我实际上使用了这个警报语句......
alert(window.opener);
在 IE 中返回未定义。
在 Firefox 中返回 ObjectWindow。
最佳答案
我认为这是 IE 中的安全限制。看一下此线程,看看它是否能解决您的问题:
关于IE 中 window.opener 的 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648231/