Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 setTimeout在XUL 7中不起作用_Javascript_Xul - Fatal编程技术网

Javascript setTimeout在XUL 7中不起作用

Javascript setTimeout在XUL 7中不起作用,javascript,xul,Javascript,Xul,我无法在XUL 7.0中使用setTimeout()函数,它不起作用 关闭XUL窗口时,我创建了一个事件侦听器,如下所示 window.addEventListener("close",function(event) {     try   {   setTimeout(function() { alert("bip"); }, 2000);       }   catch(e)   {    //alert(e.message);   }  },false);

我无法在XUL 7.0中使用setTimeout()函数,它不起作用

关闭XUL窗口时,我创建了一个事件侦听器,如下所示

   window.addEventListener("close",function(event) {
   
   try
   {
   setTimeout(function() { alert("bip"); }, 2000);
    
   }
   catch(e)
   {
    //alert(e.message);
   }
  },false);
   
但警报不会到来


任何帮助都将不胜感激

setTimeout
不会阻塞。该功能将完成,窗口将关闭,两秒钟后计时器将耗尽。在该阶段,执行环境将消失(窗口关闭),因此不会发生任何事情。

setTimeout
不会阻塞。该功能将完成,窗口将关闭,两秒钟后计时器将耗尽。在该阶段,执行环境将消失(窗口关闭),因此不会发生任何事情。

尝试绑定
'onbeforeunload'
事件。。。虽然,实际上,如果你在关闭事件中超时2秒,你不能期望它被触发(你不能期望窗口在关闭事件后存活2秒),你说的“XUL 7.0”可能是指Firefox 7.0中的XUL?或者XULRunner 7.0?很抱歉延迟了,Sima:即使我给10秒,它也没有按预期工作Wladimir:XULRunner 7.0尝试绑定
“onbeforeunload”
事件。。。虽然,实际上,如果你在关闭事件中超时2秒,你不能期望它被触发(你不能期望窗口在关闭事件后存活2秒),你说的“XUL 7.0”可能是指Firefox 7.0中的XUL?或者XULRunner 7.0?很抱歉延迟,西玛:即使我给10秒,它也没有按预期工作Wladimir:它是XULRunner 7.0,它甚至不会运行-关闭窗口会杀死所有与它相关的超时。但原因是一样的,这些暂停的背景已经消失了。找到解决办法了。如果我们只是将setTimeout()保留在close函数中,它就不会关闭。我使用了preventDefault()使close函数不关闭并执行我的操作,然后使用currentWinObj.close()关闭XUL窗口window.addEventListener(“关闭”,函数(事件){try{preventDefault();setTimeout(函数(){alert(“bip”);},2000);window.close();}catch(e){//alert(e.message);},false);`谢谢你的帮助!:)它甚至不会运行-关闭窗口会杀死所有与之相关的超时。但原因是一样的,这些暂停的背景已经消失了。找到解决办法了。如果我们只是将setTimeout()保留在close函数中,它就不会关闭。我使用了preventDefault()使close函数不关闭并执行我的操作,然后使用currentWinObj.close()关闭XUL窗口window.addEventListener(“关闭”,函数(事件){try{preventDefault();setTimeout(函数(){alert(“bip”);},2000);window.close();}catch(e){//alert(e.message);},false);`谢谢你的帮助!:)