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

JS 浏览器关闭事件相关推荐

  1. js监听浏览器关闭事件(区分刷新和关闭,兼容IE9,10,11,Edge,Chrome和Firefox)

    由于各浏览器兼容性不同,所以首先要先区分各浏览器 var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = use ...

  2. javaScript如何监听浏览器关闭事件

    转载链接:http://www.cnblogs.com/Tim_Liu/archive/2010/11/09/1872596.html 最近写东西的时候发现需要对浏览器的关闭进行监听, 当用户关闭的时 ...

  3. JS浏览器滚轮事件实现横向滚动照片展

    if(window.attachEvent){ ///*IE8注册事件*/ this.oc.attachEvent('onmousewheel',function(e) {//函数体}); } els ...

  4. js 监听浏览器刷新还是关闭事件

    // $(window).bind('beforeunload',function(){return '您输入的内容尚未保存,确定离开此页面吗?';}); // window.onbeforeunlo ...

  5. 检测浏览器的关闭事件

    <script type="text/javascript"> <!--window.onbeforeunload = onbeforeunload_handle ...

  6. html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  7. html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  8. JS 监控页面刷新,关闭 事件的方法(转载)

    JS 监控页面刷新,关闭 事件的方法(转载) 已有 149 次阅读 2011-8-30 11:37 |个人分类:web|系统分类:创意设计|关键词:JS,刷新,关闭 都是为了学习-- onbefore ...

  9. php离开界面监听,js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)...

    本文实例讲述了js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件).分享给大家供大家参考.具体如下: 用户离开页面前,提示是否离开此页面(包括浏览器按钮事件) window.onbef ...

最新文章

  1. oracle有一百个人围一圈报数,案例:Oracle创建表时报session超过最大值 ORA-00018 证明递归ses...
  2. MySQL 5.6 手册 第三章 目录
  3. JAVA springcloud ssm b2b2c多用户商城系统-docker-hystrix-dashboard-turbine(九)
  4. C++中对于类来说头文件(.h)和源文件(.cpp)都应该写些什么 (类的常规创建)
  5. 【vue系列之二】详解vue-cli 2.0配置文件
  6. 【glibc源码分析】--strcpy.c 字符串复制
  7. jquery ajax 跨域请求
  8. java开灯问题_C++之开灯问题(链表)
  9. sparkR介绍及安装
  10. Hyper-V实战:高可用性-配置Hyper-V群集
  11. react进行状态管理的几种方式
  12. 随手记_科研攻略_好的idea的产生
  13. centerOS环境变量配置
  14. 用计算机唱黑人台湾音乐,运用计算机音乐技术的音乐教学
  15. SQL DUMB Series-3 4 通关过程分享(sql注入学习DAY2)
  16. ubuntu服务器图形界面崩溃解决方案
  17. 紫光服务器型号,紫光新华三全新HPE Gen10系列服务器响彻“云”端
  18. WS2812RGB灯的控制学习
  19. 真丶深入理解 JavaScript 原型和原型链(二):原型和原型链
  20. 如何把握个股分时图的走势,在盘中捕捉涨停板?

热门文章

  1. sql 新建表 alter_SQL ALTER表
  2. adalm pluto_Apache Pluto和PHP集成示例教程
  3. java mongodb_MongoDB Java Servlet Web应用程序示例教程
  4. 依赖注入(di)模式_Java依赖注入– DI设计模式示例教程
  5. C++基础教程之日期和时间
  6. 2019年春PAT甲级考试
  7. RabbitMQ之路由选择
  8. 捕获 PHP 致命错误 Fatal Errors
  9. xaml mvvm(1)之结构
  10. MySQL常见故障处理手册_转