Javascript 当控制台调试器关闭时,window.closed()为true;当控制台调试器打开时,window.closed()为false
当IE浏览器中的控制台调试器关闭时,windowobj.closed()总是成为现实Javascript 当控制台调试器关闭时,window.closed()为true;当控制台调试器打开时,window.closed()为false,javascript,php,internet-explorer,yii,Javascript,Php,Internet Explorer,Yii,当IE浏览器中的控制台调试器关闭时,windowobj.closed()总是成为现实 windowobj = window.open( url, "_blank", "resizable=yes,width=1024,height=630,top=0,left=0,status=1" ); if (!windowobj.closed) { var timer = setInterval(checkChild, 500); } 无论控制台是否打开,window.closed的
windowobj = window.open(
url,
"_blank",
"resizable=yes,width=1024,height=630,top=0,left=0,status=1"
);
if (!windowobj.closed) {
var timer = setInterval(checkChild, 500);
}
无论控制台是否打开,
window.closed
的值似乎没有任何区别。如果要检查窗口是否关闭,应按如下方式修改代码:
windowobj = window.open(
url,
"_blank",
"resizable=yes,width=1024,height=630,top=0,left=0,status=1"
);
setInterval(function () {
if (!windowobj.closed) {
checkChild
}
}, 500);
您也可以在IE中参考并尝试,无论控制台是打开还是关闭,测试结果都不会更改。您使用的是
window.closed()
(方法)还是window.closed
(属性)?因为window.closed()
不存在,应该抛出一个错误。(只有在控制台打开时才能看到,解释问题)如果使用window.closed()
,请尝试将代码包装在try/catch中,并在catch子句中添加一个警报,以查看差异。当使用if(!windowobj.closed){
时,我无法在IE11中重现该问题。无论控制台或打开状态是否正确。