`

对于关闭IE后如何清空session的解决方法

阅读更多

    之前在我的“简单实现用户单例登录需求”一文中http://nicyea.iteye.com/blog/716312,简单的描述了对于用户点击IE浏览器关闭按钮后,session在一定时间内未清除,导致用户单例登录无法再次重新登录的问题。

    我搜集了网上的一些资料,主要问题是要解决如何捕获到“IE关闭”的动作。如果可以捕获到“IE关闭”的动作,在关闭时调用后台执行session的清除,那么之前提到的问题也就可以解决了。

    现将总结如下:

    由于系统页面存在“框架”和“非框架”的不同,针对于这两种情况分别要不同的代码区捕获。

    1、“框架”的系统页面:

<script language="javaScript">
function removeline(){
 
if(event.clientX<0&&event.clientY<0){
    // alert("进入了removeline方法,捕捉有效!");
    document.write('<iframe width="100" height="100" src="loginOff.html"></iframe><OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>');
       document.all.WebBrowser.ExecWB(45,1);
 }
}
</script>

 

    然后在页面的Frameset标签中调用onUnload="removeline();"即可;

 

     之前的代码并未对Alt+F4的关闭做捕获,所以如果要做捕获,请将

   

 

 

 

     2、“非框架”的系统页面

  

<script language="javascript"> 
      
      function window.onunload(){ 
          if((window.screenLeft>=10000 && window.screenTop>=10000)||event.altKey) 
          { 
           // alert("识别到IE关闭,添加自己的代码实现服务器端session清除功能!");    
           } 
      } 
     
</script>

    以上代码只需要在{}中添加自己想要做的动作代码就OK。我们这里所说的清除session实际上都是调用后台实现的服务器端session的清除。

    注意:看到有些朋友发现一些“非框架”页面使用这种方法带来的问题:假如用户打开了多个窗口(系统会不止只有一个窗口页面),如果关闭其中任意一个,那么其他打开的窗口也就取不到服务器端的session了。这一点在使用中需要注意。

    在我的系统中,系统页面只会有一个,所以也就未对发现的问题做特殊的处理。

 

 

 

分享到:
评论

相关推荐

    KODExplorer 芒果云-资源管理器

    - 解决更改排序方式后 ——对应右键菜单不同步问题。 - 优化右键更改列表状态,同步保存配置到服务端。 - 文件浏览器打开(a点击新窗口跳转,a不支持click,用子元素冒泡来实现点击) - 优化配置文件存储方案。直接由...

    cookie,localStorage,sessionStorage区别与应用

    浏览器关闭,数据清空 存在内存中,除非自己删除 浏览器关闭,数据清空 存储信息 文本类型 字符串类型数据 同左 属性 是document属性 是window属性 同左 作用范围 无法跨域 同一浏览器不同页面可以共享数据 ...

    网管教程 从入门到精通软件篇.txt

     bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。  含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。  用法:  ...

    PHP程序开发范例宝典III

    实例089 关闭IE主窗口时,不弹出询问对话框 132 实例090 弹出提示对话框并重定向网页 133 3.8 弹出网页对话框 134 实例091 弹出全屏显示的网页模式对话框 134 实例092 网页拾色器 136 实例093 日期选择器...

    Visual C# 2008程序设计经典案例设计与实现

    案例13 计算机的注销、关闭和重新启动 案例14 动态获取计算机系统基本信息 本章小结 第8章 Visual C#2008与文件 案例1 动态创建文件并输入文件内容 案例2 动态打开和保存文件 案例3 动态删除文件及清空回收站 ...

    C# 源码 C#2008经典案例

    案例13 计算机的注销、关闭和重新启动 案例14 动态获取计算机系统基本信息 本章小结 第8章 VisualC#2008与文件 案例1 动态创建文件并输入文件内容 案例2 动态打开和保存文件 案例3 动态删除文件及清空回收站 案例4...

    C#设计经典案例设计与实现

    案例13 计算机的注销、关闭和重新启动 案例14 动态获取计算机系统基本信息 本章小结 第8章 VisualC#2008与文件 案例1 动态创建文件并输入文件内容 案例2 动态打开和保存文件 案例3 动态删除文件及清空回收站 案例4...

    Visual+C#+2008程序设计经典案例设计与实现.rar

    案例13 计算机的注销、关闭和重新启动 案例14 动态获取计算机系统基本信息 本章小结 第8章 VisualC#2008与文件 案例1 动态创建文件并输入文件内容 案例2 动态打开和保存文件 案例3 动态删除文件及清空回收站 案例4...

    C#编程经验技巧宝典

    2 &lt;br&gt;0003 设置程序代码行序号 3 &lt;br&gt;0004 开发环境全屏显示 3 &lt;br&gt;0005 设置窗口的自动隐藏功能 3 &lt;br&gt;0006 根据需要创建所需解决方案 4 &lt;br&gt;0007 如何使用“验证的目标架构”功能 4 ...

Global site tag (gtag.js) - Google Analytics