惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
小众软件
小众软件
有赞技术团队
有赞技术团队
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
WordPress大学
WordPress大学
J
Java Code Geeks
罗磊的独立博客
V
Visual Studio Blog
雷峰网
雷峰网
H
Help Net Security
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
F
Fortinet All Blogs

博客园 - floerggyy

vs下调试多个c项目联调 C语言locale介绍 C语言宏定义总结 原码、反码、补码 Endian的由来及big-edian 和little-endian 转载 zip文件格式 C 语言 相关资源 精选 zlib usage 一段垃圾的代码(附malloc,calloc和realloc使用小结) Stdcall and DLL tools of MSVC and MinGW 转载 关于gcc的dlltool和dllwrap工具 dotnet oracle摘自msdn 被遗忘了的生日 这处站点真NB!! 数学表达式逻辑表达式混合计算 Are you a vender or manager? did you fix these bugs hotmail 附件上传何以如此霸道
技术转载(鼠标点击X窗口关闭IE的同时清空session,最基本的就...
floerggyy · 2007-12-17 · via 博客园 - floerggyy

关于这个需求我想不管是大项目还是小项目都是必要的,网上问的人也比较多,同样我也遇到了这样的需求,查阅了不少这方面的资料。然后通过实践,总结了一下。

鼠 标点击X窗口关闭IE的同时清空session,最基本的就是处理用户重复登陆需要用到,我想这个的关键在于如何捕捉到关闭IE这个动作,之后再根据自身 的需要使用session.invalidate()或者session.removeAttribute( "xxx ")都是水到渠成的事情。

下面我们就重点看看如何捕捉这个动作:

首先现在的系统的页面结构一般分为2种,框架的和非框架的。

框架的:

<script language="javaScript">

function removeline(){

if(event.clientX<0&&event.clientY<0){

 alert("我进入了removeline方法啦,说明捕捉有效!");

 document.write('<iframe width="100" height="100" src="XXX.jsp"></iframe><OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>');

       document.all.WebBrowser.ExecWB(45,1);

 }

}

</script>

然后只需要在frameset里面调用该方法即可。

<frameset 。。。。。。。。。。。。。 onUnload="removeline();">

</frameset>

几 点注意之处:if(event.clientX<0&&event.clientY<0)这个条件没有对alt+F4关闭 IE进行捕捉,如果想添加,要改成if((event.clientX<0&&event.clientY<0& &) ||event.altKey)

Removeline方法中的XXX.JSP是你写具体如何清楚session的页面。

非框架的:

  对于非框架的的处理和框架的会有所不同,实现方法如下;

 <script language="javascript">

      function window.onunload(){

      if((window.screenLeft>=10000 && window.screenTop>=10000)||event.altKey)

      {

        alert("识别到关闭IE啦!!!");   

 }

      }

      </script>

By The Way:最后我想说的是,建议系统使用框架的页面结构,这样做的好处很多了,单就权限而言也有不少有利之处。

   首 先,为什么要清空SESSION呢?清空session肯定是为了根据session来控制什么,实现某种判断,我们所谓的关闭IE时清空 session,是指清空服务器端的session,众所周知,对于客户端的session,是随着你关闭IE的同时就自动的销毁的。因此,这样以来,如 果使用非框架结构,就会带来一些问题,很简单的一个例子就是你打开了系统的3个页面,然后你X掉其中的一个页面,那么自然触发了清空session的方 法,所以这时服务器的对应session应该被清除,而你仍然开着的页面怎么办呢。。。。。。。。。。

框架结构的好处就是始终只运行一个页面,避免了上述问题的产生,当然使用框架的好处还有很多,在这里就不一一赘述了

   在下水平有限,如有不妥的地方还请大家不吝指教!