代码:
<body onUnload="javascript:overcall();"/>function overcall()  //结束对话
{   
    Jcall.overCall("123","456");//DWR调用服务器方法
}
</script>   我在关闭页面时利用onUnload关闭事件,调用服务器java方法.方法无返回值!我总感觉调用都还没有成功页面都已经关闭了.造成服务器方法没有执行. 想在窗口关闭时延迟1-2秒来解决这个问题.请问如何在这个事件里面做延迟或是别的好方法? 

解决方案 »

  1.   

    function a(){
    alert('sleep');
    setTimeout("a()",2000);//单位毫秒    }
      

  2.   

    <body onUnload="setTimeout('overcall()', 2000)">
    ...
      

  3.   

    这样试试:
    <body onbeforeunload="javascript:overcall();"/>
    ...
      

  4.   

    window.onbeforeunload = function(){
    setTimeout("closeWin()",2000);
    return false;
    }
    function closeWin(){
    window.open();
    window.close();
    }
    这段代码不能完全实现你要的效果。
    肯定的是body不能完成这项任务。
    建议,在window.onbeforeunload事件前打开一个新的窗体,来调用一个方法,再把子窗体关掉。如有更好的方法,请告诉我[email protected]