我现在的情况是这样的: 
 用户登录后进入首页,数据表中的字段loginbz设为1,首页我用这段代码处理页面关闭事件:
<script language="javascript" type="text/javascript">
var g_blnCheckUnload = true;
var cl=true;
function RunOnBeforeUnload() 
{    if(g_blnCheckUnload)
    {
      cl='<%=close()%>'
       window.event.returnValue = 'You will lose any unsaved content'; 
   
    } 
   

function bypassCheck() 

    g_blnCheckUnload  = false;
}
onbeforeunload=RunOnBeforeUnload;</script>
<body onload="getCurrentTime()" onload="RunOnBeforeUnload()">
其中 cl='<%=close()%>'是后台操作数据库将loginbz设为0的方法,但现在一进首页就运行了这段代码,我是想在关闭窗口时再触发,如何实现?请各位指教,谢谢

解决方案 »

  1.   


    <script language="javascript" type="text/javascript">
      var g_blnCheckUnload = true;
      var cl=true;
    function RunOnBeforeUnload(e){
      e=e||window.event;
      if(g_blnCheckUnload){
        cl='<%=close()%>'
        e.returnValue = 'You will lose any unsaved content'; 
      } 
    }
     
    function bypassCheck(){ 
      g_blnCheckUnload  = false;
    }
    //onbeforeunload=RunOnBeforeUnload;</script>
    <body onload="getCurrentTime()" onbeforeunload="RunOnBeforeUnload(event)">
      

  2.   

    首先关闭窗口是onunload事件
    即<body onload="getCurrentTime()" onunload="RunOnBeforeUnload()">其次
    想要在触发事件中执行后台代码,LZ这样写是不行的
    用ajax去调吧
      

  3.   


    错的,呵呵。捕捉关闭窗口事件是onunload,但要在关闭前做点什么工作必须使用onbeforeunload()
      

  4.   

    汗我曾经也想过这个问题,,可是一直搞不透,,,怎么现在又有人出这个问题了呢
    这里面涉及了好多方面的知识我个人也是认为ajax更合理
      

  5.   

    你的思路是错误的,登录问题用session 和cookie处理
      

  6.   

    <body onload="getCurrentTime()" onload="RunOnBeforeUnload()">但现在一进首页就运行了这段代码,我是想在关闭窗口时再触发,如何实现?请各位指教,谢谢
    你页面加载事件就绑定了这个函数,肯定一进首页就运行了