Internet explorer 11 为什么我能';是否在IE11中将全局变量设置为子窗口?
我正在尝试做新的功能。 我能够在现代浏览器中实现我想要的功能,但在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(); } 在现代浏览器中
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);然后我可以通过检查实际窗口的名称来检查这是否是我需要的窗口。