为什么我不能在 IE11 中将全局变量设置为 child window?

Why I can't set global variable to child window in IE11?

我正在尝试实现新功能。 我能够在现代浏览器中实现我想要的,但在 IE11 中无法实现。

  if (!window.IS_PRESENTING) {
      childWindow = window.open(window.location.pathname);
      childWindow.IS_PRESENTING = true;
      setupMainWindow();
    } else {
      setupChildWindow();
    }

在现代浏览器中 IS_PRESENTING 正在子 windows 上设置。但在 IE11 中它不起作用,浏览器不断打开新的 windows...

我该如何解决这个问题?有什么建议吗?

我可以在 IE 11 中重现该问题。作为解决方法,在 IE 11 中,您可以在开头 window 中获取 window.IS_PRESENTING 的值并设置开头 window根据它的 IS_PRESENTING 值:

开场window:

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);

参考link:Window.opener