Internet explorer 11 为什么我能';是否在IE11中将全局变量设置为子窗口?

Internet explorer 11 为什么我能';是否在IE11中将全局变量设置为子窗口?,internet-explorer-11,childwindow,Internet Explorer 11,Childwindow,我正在尝试做新的功能。 我能够在现代浏览器中实现我想要的功能,但在IE11中却不行 if (!window.IS_PRESENTING) { childWindow = window.open(window.location.pathname); childWindow.IS_PRESENTING = true; setupMainWindow(); } else { setupChildWindow(); } 在现代浏览器中

我正在尝试做新的功能。 我能够在现代浏览器中实现我想要的功能,但在IE11中却不行

  if (!window.IS_PRESENTING) {
      childWindow = window.open(window.location.pathname);
      childWindow.IS_PRESENTING = true;
      setupMainWindow();
    } else {
      setupChildWindow();
    }
在现代浏览器中,正在子窗口上设置。但在IE11中,它不工作,浏览器不断打开新窗口


我怎样才能解决这个问题?有什么建议吗?

我可以在IE 11中重现这个问题。作为一种解决方法,在IE 11中,您可以在打开窗口中获取
window.IS_PRESENTING
的值,并根据该值设置打开窗口的
IS_PRESENTING
值:

在打开的窗口中:

targetWindow = window.opener;
var IS_PRESENTING = !targetWindow.IS_PRESENTING;  //targetWindow.IS_PRESENTING can get the value of window.IS_PRESENTING in child window
alert("The value of IS_PRESENTING is " + IS_PRESENTING);

参考链接:

这似乎是相关的,如果不是相同的根本原因:尝试禁用受保护模式,但给出相同的结果谢谢,实际上我想出了其他解决方案。创建窗口时,我已设置了窗口的名称。然后我可以检查窗口名称是否等于:if(window.name!==nameForOpenedWindow){openedWindow=window.open(window.location.pathname,nameForOpenedWindow);然后我可以通过检查实际窗口的名称来检查这是否是我需要的窗口。