JS 浏览器关闭事件

   JS判断页面刷新、关闭标签页、关闭浏览器,关闭页面之前的操作方法

   这几天在想一个问题,就是用户登录时,使用session保存用户登录数据和时间,那用户退出的时候怎么能得到该用户的退出时间呢?? 因为用户可能不是使用页面中给好的"退出"按钮来触发你写的保存用户退出的方法,而是直接Alt+F4,直接关闭当前这个标签页,或者是直接关闭这个浏览器. 而且这个功能实现了, 才能实现在线时长的统计.

大家也都知道,做一个屌丝程序员,都面临着各种2b用户的蛋疼非法操作. 拿老板工资,没办法必须满足他们的需求.. 嗯,就是这样    

另外,Global的Session_End这个事件貌似也可以,但是不够稳定、好用.

效果如图:

接下来,我开始尝试使用js判断用户的操作.然后使用ajax,转向应用程序页面进行数据操作.

如图:

js判断用户是关闭浏览器、页面标签、还是刷新.

用ajax跳转应用程序页面

在这个应用程序页面进程用户退出数据的保存操作.

代码不难..这时候会发现方法行不通.  刷新的时候,可以进入操作页面,但是在关闭浏览器的时候,不会执行操作页面的代码,只能想其他办法了,至于为什么不行,这个可能跟页面运行机制有关系,关闭浏览器了,主页面先运行Js代码,再跳转ashx的同时主页面已经关闭.要想能在主页面的Js中调用执行方法在关闭页面之前运行保存用户信息的方法,应该怎么做??

百思不得其解, 我突然想到webserver. 貌似这玩意挺好使的~ 我决定尝试看看.木有想到还真行的通 ~

我相信这个问题的解决方法有很多跟我一样的程序猿会想知道..  那今天我就分享下这段代码~

这里还有个问题就是浏览器的兼容性问题. 每个浏览器获取"关闭"的位置不一样.所以这个兼容性要园友们自己下去慢慢调调看.  这里我已经调试好IE9的.. 

代码如下:

 

Web服务页面代码  :

OK 搞定..希望能帮助到有需要的博友. 也希望你们能多多支持我、关注下我 ~

转载于:https://www.cnblogs.com/xiong-QQ357253950/archive/2013/05/06/3063183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值