这里有onbeforeunload的解释:http://msdn.microsoft.com/en-us/library/ms536907%28VS.85%29.aspx
关闭窗口,刷新页面,页面提交,导航到其他页面(链接,直接输地址,location.href等)都会触发这个事件。
浏览器异常关闭貌似前端没有什么方法来处理吧。
断电?还用考虑session么?

解决方案 »

  1.   

    其实我主要是想做关于浏览器异常退出、直接关闭 等情况的处理,
    就是当这些情况发生之后,我能执行退出系统,销毁session的操作,谢谢。
      

  2.   

    session保存在内存中,随着浏览器的关闭,自动消失。
      

  3.   

    无解session过期服务器会自动销毁的异常关闭firefox之类会保存你相关信息,不用你特别写代码
      

  4.   


    我直接关闭IE浏览器,无论过多久,这个session都不会过期,
    异常关闭firefox 会保存啥相关信息呢?谢谢IE呢?因为浏览器主要还是IE用户多啊
      

  5.   


    我直接关闭IE浏览器,无论过多久,这个session都不会过期,
    异常关闭firefox 会保存啥相关信息呢?谢谢IE呢?因为浏览器主要还是IE用户多啊不可能的关闭浏览器后重新打开session对应客户端cookie会话id就不一样了如果没要你重新登陆,那么应该cookie记录了某些信息,下次访问页面从cookie获取登陆信息什么的
      

  6.   


    我直接关闭IE浏览器,无论过多久,这个session都不会过期,
    异常关闭firefox 会保存啥相关信息呢?谢谢IE呢?因为浏览器主要还是IE用户多啊不可能的关闭浏览器后重新打开session对应客户端cookie会话id就不一样了如果没要你重新登陆,那么应该cookie记录了某些信息,下次访问页面从cookie获取登陆信息什么的怎么不可能,我好几个系统都是这样,如果你直接关闭浏览器、异常退出等,session是不可能会过期的,不信你试试。
    google还悬赏10万美元来解决这个问题呢
      

  7.   

    本帖最后由 showbo 于 2014-05-08 09:18:53 编辑
      

  8.   

    我好几个系统都是这样
    ----------
    如果是正常关闭,说明你浏览器有bug或者不是session验证,而是cookie来验证,并且cookie设置了有效期,不是内存cookie
      

  9.   


    我直接关闭浏览器,不点退出或者注销算异常关闭不呢,我浏览器就是IE8啊,我登录的时候是用的session,并没有显示的设置cookie啊,
    而且我直接关闭浏览器之后,第二天再开,session还是会存在,直接就进系统了。
      

  10.   


    我直接关闭浏览器,不点退出或者注销算异常关闭不呢,我浏览器就是IE8啊,我登录的时候是用的session,并没有显示的设置cookie啊,
    而且我直接关闭浏览器之后,第二天再开,session还是会存在,直接就进系统了。那cookie验证 有80%的可能,session的话又可能你代码加了ip相同判断什么的,自己看代码session验证的话不可能正常关闭后一样的。。因为session对应的客户端cookie会不一样
    我登录的时候是用的session,并没有显示的设置cookie啊,,你的动态技术会自动生成一个httpreadonly的cookie,已经告诉过你了,自己去了解这方面的知识
      

  11.   


    我直接关闭浏览器,不点退出或者注销算异常关闭不呢,我浏览器就是IE8啊,我登录的时候是用的session,并没有显示的设置cookie啊,
    而且我直接关闭浏览器之后,第二天再开,session还是会存在,直接就进系统了。那cookie验证 有80%的可能,session的话又可能你代码加了ip相同判断什么的,自己看代码session验证的话不可能正常关闭后一样的。。因为session对应的客户端cookie会不一样
    我登录的时候是用的session,并没有显示的设置cookie啊,,你的动态技术会自动生成一个httpreadonly的cookie,已经告诉过你了,自己去了解这方面的知识
    版主大人可以看看这篇文章
    http://crud0906.iteye.com/blog/575661关闭浏览器,session会自动过期 这是大错特错的。
      

  12.   


    我直接关闭浏览器,不点退出或者注销算异常关闭不呢,我浏览器就是IE8啊,我登录的时候是用的session,并没有显示的设置cookie啊,
    而且我直接关闭浏览器之后,第二天再开,session还是会存在,直接就进系统了。那cookie验证 有80%的可能,session的话又可能你代码加了ip相同判断什么的,自己看代码session验证的话不可能正常关闭后一样的。。因为session对应的客户端cookie会不一样
    我登录的时候是用的session,并没有显示的设置cookie啊,,你的动态技术会自动生成一个httpreadonly的cookie,已经告诉过你了,自己去了解这方面的知识http://sishuok.com/forum/blogPost/list/3403.html
      

  13.   

    session是在服务器端存储的,可以设置session超时时间,当超过一定时间后,session会被服务器清除的。
    浏览器关闭后,session是存活一段时间,在到达超期时间后,session会被清除,不会一直在服务器端存储的。
      

  14.   


    我直接关闭浏览器,不点退出或者注销算异常关闭不呢,我浏览器就是IE8啊,我登录的时候是用的session,并没有显示的设置cookie啊,
    而且我直接关闭浏览器之后,第二天再开,session还是会存在,直接就进系统了。感觉你这样即使做出来了,对浏览器的兼容也很差!
      

  15.   


    session的生存期 不能在前端主导
    因为前端是不可靠的
    前端可以通告 说我结束了 删除session  
    但是后台还是要 认为前端会不告而别 所以还是会定义 timeout  超过时间删除
      

  16.   


    我直接关闭浏览器,不点退出或者注销算异常关闭不呢,我浏览器就是IE8啊,我登录的时候是用的session,并没有显示的设置cookie啊,
    而且我直接关闭浏览器之后,第二天再开,session还是会存在,直接就进系统了。那cookie验证 有80%的可能,session的话又可能你代码加了ip相同判断什么的,自己看代码session验证的话不可能正常关闭后一样的。。因为session对应的客户端cookie会不一样
    我登录的时候是用的session,并没有显示的设置cookie啊,,你的动态技术会自动生成一个httpreadonly的cookie,已经告诉过你了,自己去了解这方面的知识
    版主大人可以看看这篇文章
    http://crud0906.iteye.com/blog/575661关闭浏览器,session会自动过期 这是大错特错的。
    ⊙﹏⊙b汗我没说关闭浏览器session自动销毁好不。。我是说session过期后服务器会自动销毁。。,请仔细看5#
    关闭浏览器后session对应的cookie会话id不一样了。。都说要自己看下session和cookie的关系了
      

  17.   

    或仔细看10#,我说的是session对应的cookie id被注销,不是服务器端的session自动注销,服务器端要等有效期过了才会自动注销