首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

擒获浏览器关闭、刷新事件,在窗体关闭时从全局对象里移除当前用户

2012-10-31 
捕获浏览器关闭、刷新事件,在窗体关闭时从全局对象里移除当前用户//以下是主页面的js代码,转的script type

捕获浏览器关闭、刷新事件,在窗体关闭时从全局对象里移除当前用户

//以下是主页面的js代码,转的<script type="text/javascript">  //页面即将关闭事件 function window.onbeforeunload()   {                //用户点击浏览器右上角关闭按钮或是按alt+F4关闭        if(event.clientX > document.body.clientWidth && event.clientY<0 || event.altKey)           {                    location.href="UserInfoServlet?flag=exit";        }        //用户点击任务栏,右键关闭。s或是按alt+F4关闭        else if(event.clientY > document.body.clientHeight || event.altKey)        {               location.href="UserInfoServlet?flag=exit";        }        //其他情况为刷新           else        {                           }   } </script>


//以下是servlet里的代码,自己写的else if(flag.equals("exit")){                if(session.getAttribute("currentUser")!=null)                {    String username=((UserInfo)session.getAttribute("currentUser")).getYhName();//从全局对象里移除该用户List<UserInfo> list=(List<UserInfo>)application.getAttribute("allOnLineUsers");for(int i=0;i<list.size();i++){UserInfo u=list.get(i);if(username.equals(u.getYhName())){list.remove(i);break;}}//将改变后的全局集合重新放入全局对象application.setAttribute("allOnLineUsers",list);//从session里移除当前用户session.removeAttribute("currentUser");                }                else                {                        //跳转                              request.getRequestDispatcher("login/login.jsp").                        forward(request,response);                }} 

热点排行