Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer上未定义window.opener_Javascript_Jquery - Fatal编程技术网

Javascript Internet Explorer上未定义window.opener

Javascript Internet Explorer上未定义window.opener,javascript,jquery,Javascript,Jquery,当我试图从弹出窗口访问父窗口的元素时,我将window.opener设置为未定义 var opener = window.opener; if(opener) { console.log("opener element found"); var elem = opener.$('.my-parent-element'); if (elem) { console.log("parent element found"); elem.show(

当我试图从弹出窗口访问父窗口的元素时,我将
window.opener
设置为未定义

var opener = window.opener;
if(opener) 
{
    console.log("opener element found");
    var elem = opener.$('.my-parent-element');
    if (elem) {
        console.log("parent element found");
        elem.show(); 
    }
}
此处未定义
开场白
。我做错什么了吗

我尝试了
parent.window.opener
/
window.top
/
window.top.document.body
等,但也没有任何帮助。它可以在其他浏览器中正常工作


我已经看到了这个问题,但我无法立即用
showModalDialog
打开弹出窗口。这可能是最后一个选项。

您可以使用
showModalDialog
函数并向其传递参数(如果使用的浏览器是IE)。只需将
window
对象作为参数传递即可

之后,您可以使用
对话框arguments
从模式窗口访问参数

更多详细信息可在以下文档中找到:

检索的示例:

window.showModalDialog(theURL, window);

//in the modal dialog you can use this to retrieve the window.
var openerWindow = window.dialogArguments;

我也有同样的问题,这是由于Internet Explorer的安全选项, 特别是因为我的弹出窗口指向一个外部网站(Internet区域),而父页面是一个内部页面(Intranet区域)。 “受保护模式”仅为“互联网”激活。 我为“本地内联网”激活了它,现在它可以工作了

要在IE中找到此选项,请执行以下操作:

  • 转到Internet选项
  • 安全选项卡
  • 单击“Internet”或“本地intranet”图标
  • 选中或取消选中“启用受保护模式”选项
  • 重启IE

开启器是同一主机吗?这是重定向吗?那么我认为这与IE安全区有关:这听起来是我的问题。但似乎没有解决办法?是吗?就像很多IE问题一样很不幸是的,很抱歉迟到了。正如我在使用
showModalDialog
实现之前所说的,这将是最后一个选项(因此需要一些时间)。我更改了代码并运行了。都很好。谢谢