关于浏览器事件和session生命同期的测试

原创 2006年06月15日 14:17:00

测试代码:

***************************************************************************************

一。test.jsp

<html>
<head>
</head>
<body>
<script language="javascript">
var closepage;
function window.onbeforeunload(){
 alert("onbeforeunload!");
 closepage="no";
}
function window.onunload(){
 alert("onunload!");
}
function window.onload(){
 alert("onload");
}
</script>
<%
session.setAttribute("Is","Yes");
%>
</body>
</html>

***************************************************************************************

二。get.jsp

<%=session.getAttribute("Is")%>

***************************************************************************************

测试结果:

一.分页浏览器:
1.单个页面--情形一
  打开:onload();
  刷新:onbeforeunload(),onunload(),onload();
  关闭(通过标签关闭):onbeforeunload(),onunload();//session存在 (PS:在IE7.0中,单页面是不能通过关闭标签方式来关闭页面的)
  关闭(关闭浏览器):onunload();//session销毁

2.多页面--情形二
  打开:onload();
  刷新:onbeforeunload(),onunload(),onload();
  关闭(通过标签关闭):onunload();//session存在
  关闭(关闭浏览器):onunload();//session销毁

二.单页面浏览器:--情形三
  打开:onload();
  刷新:onbeforeunload(),onunload(),onload();
  关闭:onbeforeunload(),onunload();////session销毁

***************************************************************************************

运用:

 在情形二和情形三,只要监视页面的onbeforeunload()和onunload()事件,就可以在浏览器关闭的情况下销毁session.而在情形一中则无法实现,至少我是没有想到办法。这就可以解释为什么在IE7.0中,单面页情况下,不能通过关闭标签的方式来关闭页面(即情形一等同于情形二)。

同步/异步(同期/非同期)

进程同步用来实现程序并发执行时候的可再现性。 一.进程同步及异步的概念 1.进程同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一...
  • JCRunner
  • JCRunner
  • 2015年06月05日 08:36
  • 1418

cookie,session与浏览器关系,application

一.cookie在web应用中,对应servlet api的Cookie类,保存在客户端。 作用:保护用户通过浏览器,访问web应用程序时允许保存的信息。 实现:每个web应用程序,对于客户端的每...
  • dazengq
  • dazengq
  • 2015年10月13日 14:41
  • 1768

关闭浏览器销毁session

今天在处理用户在线状态查看时,碰到一个问题:如果用户关闭浏览器,在IE下,通过处理 页面unload时,document.location可正常触发销毁session的跳转,但google的chrom...
  • fulinkster
  • fulinkster
  • 2011年07月06日 15:03
  • 2886

不同浏览器Session使用和常见问题分析

session跟踪机制 HTTP协议为无状态协议,对于每一个web请求,服务器是无法知道是否为同一个请求者。那么是怎么样跟踪请求的呢? 图一 请求交互流程图 目前有两种方式。 第一种,...
  • u014419219
  • u014419219
  • 2014年05月15日 16:12
  • 7442

学习servlet——servlet生命周期

这节主要介绍一下servlet的生命周期,即servlet从创建到销毁的过程。
  • u014200359
  • u014200359
  • 2014年04月08日 19:32
  • 787

深入理解浏览器会话机制(session && cookie)

对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如setcookie,getcookie的方法,session就好像一个最熟悉的陌生人一样,在我们与后端开发者合作项目的时候会用到它,...
  • xi_2130
  • xi_2130
  • 2016年05月10日 11:01
  • 6596

浅谈IE事件处理与其他浏览器的差异

1、触发事件对象(触发事件的元素被认为是目标target): (1)IE下,event对象有srcElement属性,但没有target属性。 (2)Firefox下,event对象有target属性...
  • zhouziyu2011
  • zhouziyu2011
  • 2017年03月05日 13:52
  • 623

web测试你需要知道的HTTP(二)--cookie与session的实现

Cookie实现机制:浏览器首次访问服务器,发送请求如果没有带身份,服务器检测不到cookie会返回一个登录窗口,输入用户名和密码后再次请求,服务器接受到表单提交上来的用户信息后验证通过,返回一个相应...
  • five3
  • five3
  • 2010年12月16日 00:39
  • 6752

Android面试题二(71道经典Android面试题和答案,重要知识点都包含了)

1.        下列哪些语句关于内存回收的说明是正确的? (b )    A、 程序员必须创建一个线程来释放内存   B、内存回收程序负责释放无用内存    C、内存回收程序允许程序员直接释...
  • johnson67
  • johnson67
  • 2013年02月11日 20:26
  • 857

浅谈cookie/session与的生命周期

分享有关cookie与session的区别与生命周期。
  • github_37772805
  • github_37772805
  • 2017年03月05日 23:43
  • 656
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于浏览器事件和session生命同期的测试
举报原因:
原因补充:

(最多只允许输入30个字)