`
woshixushigang
  • 浏览: 580377 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

关闭浏览器时候销毁session

 
阅读更多

统计当前在线人数的时候,如果客户端关闭了浏览器,就相当于退出了页面,需要销毁session值,

但好像只有IE支持:

<script type="text/javascript">
window.onbeforeunload = function()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
window.location.href='<%=basePath%>miaosha/spikecloseKill';
}
}
</script>

其它浏览器不支持,怎么解决?
 

可以用 jQuery ,示例:
$(document).unload( function () { alert("Bye now!"); } );
 

页面卸载的时候弹出一个警告框:

jQuery 代码:

$(window).unload( function () { alert("Bye now!"); } );这种是也是在IE可以用,但其它浏览器就不能用,而且刷新页面时也执行
 

这种代码在firefox和chrome的tab关闭时都有效,但是直接关闭整个firefox浏览器则无效。

是否应该考虑一下有没有必要关闭时清除session。

因为这个方法无效的范围是关掉整个浏览器,当你重新打开新的浏览器的时候已经使用的另外的session了。不会有问题的。
$(window).unload( function () { alert("Bye now!"); } ); 你试着在firefox,刷新一下,也执行的.

分享到:
评论

相关推荐

    关闭页面时清空Session (ASP.net ) (已实现)

    当用户离开页面或关闭浏览器时,通常不再需要保留其Session信息。这有助于释放服务器资源,并且对于某些应用场景来说,这样做也是出于安全考虑,例如避免敏感信息泄露给其他用户。 #### 2.2 如何清除Session 在ASP...

    PHP程序设计-3期(KC016) 3.12.3销毁session常见问题.docx

    在销毁Session之前,需要先遍历并清空所有Session变量,这是因为`session_destroy()`只会删除Session文件,而不会清理全局$_SESSION数组中的数据。正确做法如下: ```php // 清空 Session 变量 foreach ($_SESSION ...

    在线人员 ajax聊天室 关闭浏览器和登出控制使session失效

    6. **安全考虑**:为了防止恶意用户利用他人未关闭的浏览器继续访问,还可以在登出时生成一个随机的登出令牌,服务器接收到令牌后验证其有效性,确认无误后再销毁session。 在这个压缩包文件`ajaxchat1`中,可能...

    报表session与应用session常识普及

    Session被删除的情况有三种:程序调用HttpSession.invalidate()方法显式销毁session;session的最大有效时间到期,且服务器在一定时间内没有收到客户端的请求;服务器进程被停止。尽管如此,实际上很难做到在浏览器...

    session介绍

    - **用户体验**:虽然关闭浏览器并不一定导致Session消失,但为了避免用户在关闭浏览器后重新打开时仍保留原会话状态,有时会选择在关闭浏览器时清除Session,这需要通过JavaScript或者其他方式实现。 总之,...

    关于如何清空session的例子

    然而,在某些情况下,比如用户注销或关闭浏览器时,我们需要清空Session,以消除用户的所有相关信息。本文将通过一个具体的例子来详细讲解如何实现这个功能。 首先,我们要理解Session的工作原理。在服务器接收到...

    php代码-session_destroy()的执行会销毁session_id()

    为了避免这种情况,可以在销毁session后重定向用户到一个新的页面或者刷新页面。 总结来说,`session_destroy()` 是PHP中用于处理用户会话生命周期的重要工具,它允许开发者安全地结束用户的会话状态,防止数据泄露...

    一篇优秀Session讲解

    该接口提供了操作Session的各种方法,包括获取Session属性、设置Session属性以及销毁Session等。 - **获取Session对象**:可以通过HttpServletRequest对象的getSession()方法获取HttpSession对象。 - **设置Session...

    day18 监听器 统计在线人数,定时销毁超时session,钝化活化session,在线列表显示和踢人功能防止用户自动登录,在线支付

    当session被销毁,例如因为用户关闭浏览器或者超时,我们就减少计数。这种方法可以实时反映网站当前的活跃用户数。 定时销毁超时session是保持系统资源有效利用的关键。默认情况下,session在用户一段时间无操作后...

    Java关于session的详细解释

    3. **销毁**:当用户关闭浏览器或者长时间没有活动时,Session会被销毁。也可以通过编程方式显式地销毁Session。 #### 六、Session与Cookie的关系 - **Session依赖于Cookie**:大多数情况下,Session ID是通过...

    jsp和servlet之中的session详细介绍

    当用户关闭浏览器或session超时时,session通常会被销毁。此外,开发者也可以在代码中手动结束session。 补充:seesion 设置了一个失效时间 开发者可以设置session的超时时间,超过这个时间,session将自动失效。 ...

    session过期问题

    2. **用户浏览器关闭**:浏览器关闭后Session丢失,再次打开时应判断Session是否过期,过期则引导用户重新登录。 3. **用户切换设备或浏览器**:不同设备和浏览器的Session不共享,需要设计逻辑处理这种情况。 4. ...

    PHP中session变量的销毁

    这个期间服务器为此建立一个唯一的标示(session_id session_name),其实也就是一个数组Array(),Session的开始和结束并不以业务上的输入用户名密码开始,也不以关闭浏览器和网页刷新而结束 2.session变量的销毁...

    理解session机制

    服务器并不会在浏览器关闭时立即销毁Session,除非程序中特别设置了Session的超时时间或用户执行了登出操作。默认情况下,Session会在一段时间无活动后自动失效,这个时间称为Session的超时时间。如果用户关闭...

    php中精确控制session超时时间

    这样,即使用户未关闭浏览器,只要超过30分钟无操作,session ID也会从客户端删除。 2. **设置服务器端`session.gc_maxlifetime`**:这是session数据在服务器端的最大存活时间。理论上,应将此值设为与`session....

    Session cookies

    但如果在关闭浏览器前,用户已经通过其他方式(如手动注销)结束了会话,则即使浏览器未关闭,Session也可能被销毁。 ### 总结 Session cookies是维持Web应用程序中用户状态的关键技术之一。通过合理的管理和配置...

    jsp中存取session值简单介绍

    2. 如果用户关闭了浏览器,那么与该用户关联的session也会被销毁。 3. session虽然方便,但会占用服务器资源,尤其是当用户量很大时,过多的session会消耗大量的服务器内存。因此,合理的管理session,比如及时销毁...

    php session操作类

    5. **销毁Session**:`destroy_session`方法可能是用来结束当前用户的Session,清除所有Session数据,并删除客户端的Session ID cookie。 6. **管理Session ID**:类可能还提供了管理Session ID的功能,如`...

    JAVA之cookie与session

    - 当客户端浏览器关闭时(对于基于浏览器的 Session)。 - 达到预设的最大空闲时间(例如 30 分钟未活动)。 #### 五、Cookie与Session的区别 尽管 Cookie 和 Session 都用于跟踪用户状态,但它们有着本质的区别...

Global site tag (gtag.js) - Google Analytics