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

这个功能实现了, 才能实现在线时长的统计.

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

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

效果如图:

浏览器关闭按钮jquery事件 js关闭浏览器事件_用户登录

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

如图:

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

浏览器关闭按钮jquery事件 js关闭浏览器事件_用户登录_02

用ajax跳转应用程序页面

浏览器关闭按钮jquery事件 js关闭浏览器事件_应用程序_03

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

浏览器关闭按钮jquery事件 js关闭浏览器事件_ajax_04

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

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

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

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

代码如下:

浏览器关闭按钮jquery事件 js关闭浏览器事件_用户登录_05

浏览器关闭按钮jquery事件 js关闭浏览器事件_浏览器关闭按钮jquery事件_06

 

Web服务页面代码  :

浏览器关闭按钮jquery事件 js关闭浏览器事件_ajax_07

浏览器关闭按钮jquery事件 js关闭浏览器事件_应用程序_08

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

朝着黎明的方向,在黑暗中前行,只要思想不滑坡,办法总比困难多..