Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 当控制台调试器关闭时,window.closed()为true;当控制台调试器打开时,window.closed()为false_Javascript_Php_Internet Explorer_Yii - Fatal编程技术网

Javascript 当控制台调试器关闭时,window.closed()为true;当控制台调试器打开时,window.closed()为false

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的

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

setInterval(function () {
    if (!windowobj.closed) {
        checkChild
       }
}, 500);

您也可以在IE中参考并尝试,无论控制台是打开还是关闭,测试结果都不会更改。

您使用的是
window.closed()
(方法)还是
window.closed
(属性)?因为
window.closed()
不存在,应该抛出一个错误。(只有在控制台打开时才能看到,解释问题)如果使用
window.closed()
,请尝试将代码包装在try/catch中,并在catch子句中添加一个警报,以查看差异。当使用
if(!windowobj.closed){
时,我无法在IE11中重现该问题。无论控制台或打开状态是否正确。