在网页关闭的时候判断一下, 
<script language=javascript>
window.onbeforeunload = function()
{
  if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
  {
    // 这里执行你的 logout()
  }
}
</script>

解决方案 »

  1.   

    event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey请问这句是什么意思?!
    还有,onbeforeunload 和onunload有什么区别啊?!
      

  2.   

    用session在服务器端控制不是更方便吗?session可以设置超时,关闭网页时自动销毁。
      

  3.   

    用onunload也可已
    不过不能刷新
    呵呵
      

  4.   

    session默认时间20分钟用session自动超时不合理
      

  5.   

    onbeforeunload and onunload 你从字面上就应该可以判断出它的含义了.
    之所以在 onbeforeunload 里加上那么些个判断主要是区分用户到底是 reload 还是 close
    因为网页没有提供这种关闭事件, 刷新与关闭的时候都会触发上述两个事件, 所以要加判断.
    判断出用户是真的关闭网页时, 你可以采用 xmlhttp 的方式通知服务器端用户已经关闭网页了.
    你就可以在服务器端做相关的操作了.
    至于 session 的问题, session 都有一个超时时间, 要等这个超时时间过了才能说用户断线了.
    所以直接用 session 超时存在一个不及时性.
      

  6.   

    MM比较弱麻烦再讲解一下session的概念?!!我在网上没怎么查到!!