java 系统关闭事件如何浏览器相关的触发

有一个系统a,当系统a关闭时,会触发一些事件;
现在的问题是:如何准确触发?

一般关闭系统有几种方式:
1. 大家习惯直接点击浏览器页面的“×”来关闭;
2.点击系统里的“退出系统”按钮来关闭;

点击浏览器页面的×来关闭时:
在jsp页面设置:window.close() window.beforeload()啥的,但这个我用ie浏览器能触发,而且这个能触发不是很稳定,时灵时不灵的;其他浏览器里window方法不管用;这个好像跟浏览器兼容性有关;
用HttpSessionListen来监听,但session的生命周期是设定好的特定时间,你不能保证客户一定是在这个时间里退出系统的,这两者没法同步,逻辑上没法用;

故想问问大家都是怎么处理的?
这个功能是为了做单点登录功能,单点登录的基本逻辑是:一个用户登录后把门锁着,禁止其他地点的同一用户再登录,等这一用户退出时,得把门打开,允许其他地的同一用户登录;所以用户退出时得把门打开,难点在如何判定捕捉到用户退出事件;

1个回答

数据库可以记录该账号用户最后退出时间,然后别的地点同一账号登录的时候把当前账号的最后退出时间取出来进行判断,如果没有退出时间说明该账号正在登陆,如果有时间就说明没有登录 就可以登录

jim_007
小小梦里花007 这个难点在于如何监听判断出账号退出了
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
浏览器页面关闭事件获取及处理--onbeforeunload
浏览器在关闭页面操作时,提供onbeforeunload,onunload两个事件。浏览器onbeforeunload事件会在浏览器关闭前触发,它在用户离开页面之前弹出一个确认框,问用户是否要真正的离开本页面。
如何在javascript中捕获浏览器关闭按钮或退出页面的事件
很多时候,我们有一定的要求做一些东西,如无效会话每当用户点击浏览器的关闭按钮,从而在浏览器中调用close事件。   让我们来看看如何使用JavaScript。在JavaScript中,我们有onbeforeunload的和onunload事件,如。因为他们的名字暗示这些事件被触发时,页面被卸载。发生这种情况,如果用户关闭浏览器或移动到不同的页面。   我们可以使用这些事件
浏览器窗口关闭触发的事件
点击某个离开页面的链接 在地址栏中键入了新的 URL 使用前进或后退按钮 关闭浏览器 重新加载页面 1: $(window).onbeforeunload = function(){     return "123"; } 2:     function show()     {           return 1;      }
JS针对浏览器窗口关闭事件的监听方法
本文实例总结了JS针对浏览器窗口关闭事件的监听方法。 1、onbeforeunload事件:   说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。   用法:    ·object.onbeforeunload = handler    ·   描述:    事件触发的时候弹出一个有确定和取消的对话框,确定则离开页
javascript如何监听页面刷新和页面关闭事件
本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接、关闭页面、表单提交时等情况,会提示我们是否确认该操作等信息。 这里就给大家讲讲javascript的onbeforeunload()和onunload()两个事件。 相同点: 两者都是在对页面的关闭或刷新事件作个操作。 不同点: unbeforeunload(
关闭浏览器时的事件
window.onbeforeunload = function(){    //设置一次性定时器    setTimeout(onbeforeunload,10);       return  调用的函数;}
js监听浏览器关闭事件(区分刷新和关闭,兼容IE9,10,11,Edge,Chrome和Firefox)
监听浏览器关闭事件(区分刷新和关闭,兼容IE9,10,11,Edge,Chrome和Firefox)
JS捕获关闭浏览器事件
1、window.onbeforeunload()函数主要是用于捕获关闭浏览器事件(包括刷新); 2、window.onunload()函数主要是执行关闭游览器后的动作; 举例: window.onbeforeunload = function() { var bln= confirm('是否真的关闭浏览器'); if(bln){  window.onunload=function
离开页面触发事件onunload、onbeforeunload区别
onunload和onbeforeunload两个事件都是在执行页面刷新、关闭、浏览器关闭时能触发,不过在访问服务器读取新的页面时执行顺序有所不同,并且onunload无法阻止页面的关闭与刷新,onbeforeunload可以做到: onunload是在服务器上已经读取到数据,将要替换当前页面时执行,一般用于当离开页面以后执行的动作。 onbeforeunload是正要向服务器读取新的页面时执
浏览器关闭事件的捕获控制(如:右上角点X、任务栏右键关闭、TAB页签点X 等等)
         今天又遇到要监听捕获浏览器的关闭事件,因为要在关闭前做一些操作,考虑到浏览器有多种关闭方式,比如:右上角点X、任务栏右键关闭、TAB页签点X 等等。但是目前我只需要把右上角点X、TAB页签点X 操作捕获控制就行了。      对于一向喜于做后台开发的我,前台只是略懂一点点。本来只是做个页面改造,后来发现是有活就干,我也只好硬着头皮干了,谁叫咱们是个开发人员呢。      经过一番的资料查询和测试,眼前突然豁明开朗,问题解决了。对于IE浏览器通过onbeforeunload事件可以很好的捕获
关于页面关闭时触发的事件
在C/S中,经常要用到关闭窗口前处理一些事件,包括关闭前和关闭后事件;在B/S中,却发现没有这么容易实现同样的功能,最后,找到一篇利用javascript来实现关闭窗口的文章,受到启发,在本文最后特地把它摘下来,供大家参考。 1. 用后台的页面事件。这样有个不好,就是每次页面刷新,就会执行一次protected void Page_Unload(object sender, Event
web关闭页面触发执行后台方法
今天组长让我解决一下关闭页面、关闭窗口、关闭浏览器分别调用的方法。然后我想,那肯定是监听啊。然后我查了下监听方法,window.onbeforeunload() 关闭窗口、刷新页面之前, window.onunload()这个是之后。然后我写了几个demo演示给他看:我写到了body里,他说,这个只能监控一个界面啊。然后我改进了下,放到js里:其实和放body一样的,只是外部引入美观了一些。然后我
js如何实现在监测页面关闭和刷新事件
原文:https://segmentfault.com/q/1010000007685607 有一个需求,当用户在页面中进行刷新和关闭页面的时候显示一个弹框提示用户功能。 于是自己就想到onbeforeunload、onunload、onload这几个事件,但是在使用的过程中有种心累的感觉。。。 onbeforeunload:在页面刷新和关闭的时候触发事件,表示正要去服务器读 取新的页面
js监听浏览器关闭事件
html :     test        function RunOnBeforeUnload() {  window.event.returnValue = '关闭浏览器将退出系统.';  }  function RunOnUnload() {  //执行你的代码  }      说明: 点击关闭浏览器按钮会出现  提示 “'关
html关闭浏览器事件
关闭浏览器的事件  2008-07-15 15:38:22|  分类: [JavaScript]|举报|字号 订阅 在做图片刷新功能的时候,会出现IE图片缓存的问题,试了N多方法都没有效果,最后只有使用每刷新一次修改图片文件名加随机数的方法才勉强解决。但是这样的方法是下次打开浏览器读取图片的时候,上次产生的随机数是动态的,这时候只有让用户关闭浏览器的时候捕捉关闭事件然后将图片更名为一个统一的
关闭页面时使用jQuery调用事件的方法
欢迎访问我的个人博客 http://xiaolongwu.cn/ 1、方法很简单 $(window).unload(function(){ //这里面写在关闭页面时,要调用的事件 alert("页面要关闭了"); } 2、这里值得提一下的是原生的方法 页面关闭或者刷新时调用的方法window.onbeforeunload和window.onunload。 页面加载...
javascript捕获浏览器窗口关闭事件
为了防止用户不小心关闭浏览器窗口,或者我们想在浏览器窗口关闭的时候做一些事,那么我们会使用到window对象的onbeforeunload和onunload。
浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt
浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt浏览器关闭事件.txt
关闭窗口触发事件(onunload和unbeforeunload)
浏览器窗口关闭可以使用window.close(),但并没有与之相对应的事件,页面加载也是使用onload事件监听。 onunload和unbeforeunload事件都是在页面刷新或关闭的时候执行的。 这两个事件的区别:   1.onunload事件是已经从服务器读取到了数据,在替换到当前页面之前执行的。      onbeforeunload事件是正要去服务器读取数据还没有读取
Jquery实现如何关闭离开页面时提醒
方法/步骤 jquery离开页面弹出提示 1 jquery离开页面弹出提示代码: //绑定beforeunload事件$(window).bind('beforeunload',function(){return '您输入的内容尚未保存,确定离开此页面吗?';}); //解除绑定,一般放在提交触发事件中$(window).unbind('beforeunload'); END 方法/步
关闭浏览器时触发自定义函数
function getEvent() //同时兼容ie和ff的写法, 这个方法是捕获浏览器关闭事件 { if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=func.argumen
JS监听页面刷新或关闭事件
/** * 监听页面刷新或关闭事件 */ window.onbeforeunload = function(){ var details=getData("details"); if(details!=null && details!=""){ return "航班分配任务数据未保存,若重新加载,则该数据将丢失!"; } };
js监控IE火狐浏览器关闭、刷新、回退、前进事件
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 test "javaScript"> var flag = true; window.onbeforeunlo
js关闭窗口时触发事件方法
JS监听关闭浏览器事件 关键字: js监听关闭浏览器事件 Onunload与Onbeforeunload Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。    Onbeforeunload也是在页面刷新
兼容各浏览器的窗口关闭事件
function CloseWebPage() { if (navigator.userAgent.indexOf("MSIE") > 0) { if (navigator.userAgent.indexOf("MSIE 6.0") > 0) { window.opener = null; window.close();
关于VUE监听窗口变化事件问题
Vuejs 本身就是一个 MVVM 的框架。但是在监听 window 上的 事件 时,往往会显得 力不从心。 比如 这次是 window.resize恩,我做之前也是百度了一下。看到大家伙都为这个问题而发愁。 问题: 今天我也 遇到了这样一个问题, 是关于canvas 自适应。 根据窗口的变化去变化 canvas 的宽度备注: 重要的问题说三遍 解决 框架内的bug 先说 框架 版本 版本 版
在用户关闭网页时捕捉关闭事件,并进行清除session操作
var flag=false;  function window.onbeforeunload()  {    var   n   =   window.event.screenX   -   window.screenLeft;     var   b   =   n   >   document.documentElement.scrollWidth-50;     if(b   &&   w
判断用户关闭浏览器-beforeunload事件
用beforeunload事件,在某些浏览器上(chrome、ie、firefox)可以监听到浏览器关闭操作,能够在关闭之前,弹出一个对话框,让用户选择是否关闭。代码如下: 1 2 3 4 5 6 7 //提示用户是否离开此页面(关闭、刷新或者点击后退等) window.addEventListener(
浏览器标签tab窗口切换时事件状态侦听
<script> document.addEventListener('visibilitychange',function(){ //浏览器切换事件 if(document.visibilityState=='hidden') { //状态判断 //normal_title=document.title; document.title = '标题二';
iframe监听unload事件
阻止默认事件 event.preventDefault(); 阻止事件冒泡 event.stopPropagation(); event.cancelBubble = true; //IE 标签会触发onbeforeunload事件,事件时间顺序 onclick > onbeforeunload > href 在onclick事件中rerun false后面的事件就不再执行
Html5 手机网页中,长按会触发系统事件,请问怎么取消这些事件?
在iOS中测试的时候会发现长按会出现各种各样系统的事件,这是很智能的,但是影响用户的体验如何解决呢?  转载的内容如下: 在iPhone中很好解决,只要给长按的div设置两个css: -webkit-user-select: none;/*禁用手机浏览器的用户选择功能 */ -moz-user-select: none; 在没有特别定制过的安卓浏览器中也是可以的,但是
手机网页中,长按会触发系统事件,禁止系统事件
在iPhone中很好解决,只要给长按的div设置两个css: -webkit-user-select: none;/*禁用手机浏览器的用户选择功能 */ -moz-user-select: none; 在没有特别定制过的安卓浏览器中也是可以的,但是在小米中就难了,因为小米长按页面中任何地方都会出现一个放大镜...然后我试了 window.ontouchstart = f
关于session监听浏览器关闭服务器执行destory的证实
session监听初次访问的时候会生成session放在cookie里 浏览器关闭 服务器延迟执行destory tomcat8+spring4 public class SessionHelpListen implements HttpSessionListener { private final String FORMAT = "yy-MM-dd HH:mm:ss"; p
监听浏览器滚动条触发向上向下事件
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt; // 监听浏览器滚动条向上向下事件 $(document).ready(function(){ var p=0, t=0; $(window).scroll(function(){ p=$(this).scrol...
监听微信端,手机端,ios端的浏览器返回事件,pc端关闭事件
直接上代码了,可以监听微信端,手机端,ios端的浏览器返回事件,关闭事件不支持 当进入该页面,我们就给这个history压入一个本地的连接。当点击返回、后退及上一页的操作时,就进行监听,在监听代码中实现自己操作。 下面是完整的代码: [java] view plain copy $(function(){  
JavaScript捕获window窗口关闭事件
工作中遇到有这样的情景,要在浏览器窗口关闭的时候,提示用户某种操作。 类似在关闭窗口时,提示用户保存当前内容,选择是则保存并关闭窗口,选择否则不关闭窗口,也不做保存操作。 网上找了很多,都是说用js处理window关闭事件的,要么说onbeforeunload 方法,要么说onunload方法。 感觉都不能实现。后来突然想到这样的办法:用这两个方法一起来实现! 原因: onbef
如何知道用户关闭浏览器,结束会话?
J2EE应用下 用户会话结束后如何回收相关资源案例描述:系统平台:weblogic server 8.1 sp2技术方案: Servlet、JSP、EJB、JDBC Connction Pool工作原理:用户通过浏览器访问登录到系统时,JSP通过JavaBean建立与 EJB的调用连接,同时EJB对象通过Connection Pool连接后台数据库。用户合法登录后 通过JSP JavaBean调用
js监听页面关闭或刷新
需求:在页面关闭的时候监听事件,但是刷新的时候并不执行。实现:window.onbeforeunload = function(){      var  n  =  window.event.screenX  -  window.screenLeft;       var  b  =  n  &amp;gt;  document.documentElement.scrollWidth-20;       ...
当前网页关闭事件拦截onbeforeunload ,visibilitychange
window.onbeforeunload = function(){ if(confirm("确定关闭页面?")){ return true; } else{ return false; } } visibilitychange: 浏览器tab页面切换时执行。
浏览器关闭时弹出提示事件onbeforeunload
有时候在做数据编辑的时候,为了友好提示用户不小心关闭浏览器时,提醒用户是否已经保存数据,可以用onbeforeunload来处理; 兼容谷歌,ie,火狐兼容性不好。 代码如下: var UnloadConfirm = {}; UnloadConfirm.MSG_UNLOAD = "数据尚未保存,离开后可能会导致数据丢失\n\n您确定要离开吗?"; UnloadConfirm.s
jsp 关闭窗口触发的事件
function window.onunload(){//所有窗口关闭  if((window.screenLeft>=10000 && window.screenTop>=10000) || event.altKey)   { //点击右上角的窗口关闭    alert("aaaaaaaaaaaaaaaaaa");      }}
JS 监控页面刷新,关闭 事件的方法
JS 监控页面刷新,关闭 事件的方法   | onbeforeunload与onunload事件Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。   Onbefo
用户离开页面前,提示是否离开此页面(包括浏览器按钮事件)
用户离开页面前,提示是否离开此页面(包括浏览器按钮事件) window.onbeforeunload = function(){ return "您的文章尚未保存!";   } 如果在退出页面时需要弹出对话框,提示用户将要退出页面,类似当设置某个功能时而没有保存页面。这个实现的方法比较简单,最常见的就是使用unload事件,但这种实现有一个缺点,就是不管同意与否
监听浏览器关闭或者页面关闭
window.onbeforeunload() 事件调用ajax 经常有这样的需求,就是在离开某个web页面时,用户不一定点注销,这样会导致会话不能及时销毁。为实现用户离开页面时,自动注销功能,需要在web页面的onbeforeunload事件处理函数中发送注销命令。这个地方大多用Ajax实现。有时还涉及到跨域访问的问题。这个地方就存在浏览器的兼容性问题。 浏览器在处理
IOS微信浏览器返回事件popstate监听
问题描述: 通过监听popstate事件,来判断是否点击返回按钮,比如从A页面跳转到B页面(监听popstate),然后再跳转到C页面,点击返回的按钮,测试成功,包括安卓版,但是问题来了,IOS版的微信,是会立即触法popstate事件,导致直接从C页面跳转到A页面,其他的支付宝(安卓、IOS)、微信(安卓)都是可以,就是微信IOS版不行。 经过查找相关资料,选择了一个方法,不过有点弊端,但是
html页面关闭事件
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。   Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunloa
AngularJS监听页面关闭,定时器$interval()的使用
//注意 interval()一定要记得调用关闭 避免重复调用 //定义Angular定时器 $interval.cancel(fixedTimes);为关闭定时器的方法 var fixedTimes =$interval(function(){ },1000); //AngularJS监听页面关闭事件 $scope.$on("$destroy", functio
关于Java Swing的窗体关闭事件的调用关系
Java Swing的窗体和对话框的关闭事件无非就是windowClosing和windowClosed这两个方法,如果要在关闭时进行“是否退出”之类的提示或保存数据等操作时则需要用到这些方法,但到底是该用哪个方法则有一定的讲究。   windowClosing用于窗体关闭时被调用,这个时候窗体还处在运行并显示当中,所以为了方便可以把这个方法称为关闭前调用的方法。值得注意的是当我们按下窗体或对话
微信浏览器关闭
一、解决window.close失效问题(转载:http://blog.sina.com.cn/s/blog_63f3e0060101ixi0.html) function f_close(){ if(typeof(WeixinJSBridge)!="undefined"){ WeixinJSBridge.call('closeWindow'); }else{ if (n
关于resize事件,不同浏览器的触发行为
SD9014: IE 标准模式中 BODY 元素的高度变化和 IE6(S) 中 BODY 元素的宽度变化会触发 wi 标准参考 Mozilla Developer Center 对 window.onresize 的描述如下,窗口 resize 事件的事件句柄。resize 事件在窗口大小变化时触发。并非规范的一部分。 MSDN 中 onresize 是一个许多对象均支持的事件,
立即提问