如何检测浏览器刷新或关闭?

时间:2017-11-02 05:24:07

标签: javascript php jquery codeigniter

在我的应用程序中,我希望用户进行单点登录。当他离开申请时。顾名思义,只有当用户关闭当前浏览器选项卡或浏览器窗口或浏览器引用按钮时才会发生。它可能使用JavaScript OnUnload事件。但问题是这个事件发生在

  1. 关闭浏览器标签
  2. 关闭浏览器窗口
  3. 点击任何内部页面链接(即锚点,表单按钮和按钮事件)
  4. 点击浏览器的“刷新”按钮
  5. 点击浏览器的后退/前进按钮
  6. 我已经处理了前3个案例,但无法检测浏览器刷新和后退/前进按钮点击。 有没有人实现过这样的功能,请帮帮我??

    提前致谢!!!

2 个答案:

答案 0 :(得分:1)

了解页面实际重新加载的更好方法是使用大多数新版本浏览器支持的导航器对象。它使用HTML 5导航时间API。



//check for navigation time API support
if (window.performance) {
  console.info("window.performance work's fine on this browser");
}
  if (performance.navigation.type == 1) {
    console.info( "This page is reloaded" );
  } else {
    console.info( "This page is not reloaded");
  }




来源:https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API

已回复Rahul Jain

答案 1 :(得分:1)

在事件上使用ajax。使用(异步javascript请求)

<script type="text/javascript"> 
       $(window).bind('unload', function(){
         $.ajax({
           type: "get",
           async: false,
           url: "URL CONTROLLER/FUNCTION"
         });               
    });
</script>
相关问题