IE 中 window.opener 的 JavaScript 问题

标签 javascript internet-explorer

我正在尝试使用以下 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 中的安全限制。看一下此线程,看看它是否能解决您的问题:

http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/0c014e78-8d35-4df3-93da-7f6a30b4ed8b

关于IE 中 window.opener 的 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648231/

相关文章:

javascript - 用户控制按钮 Action

javascript - Jquery - 更改插件中的值,无需再次运行插件?

javascript - 当文本变长时,我的 d3 y 轴溢出,如何在图表中打破单词?

javascript - 因为在 MSIE 10 上的行为不同

internet-explorer - 如何对所有版本的IE强制使用兼容模式?

javascript - 如何在asp.net MVC中获取外部JavaScript文件中的 session 值、临时数据?

javascript - 合并 Javascript 对象

html - IE 以不同于 FF/Chrome 的方式呈现内联 block div

html - 文本输入在 IE9 中高于一切

internet-explorer - IE 7-10 的多站线性渐变