【问题标题】:How to detect browser close event in Firefox?如何在 Firefox 中检测浏览器关闭事件?
【发布时间】:2011-07-20 05:44:10
【问题描述】:

如何在 Firefox 浏览器中检测浏览器关闭事件?我想在服务器端做一些清理过程,我们保持上次注销时间。 为了实现这一点,需要在用户单击注销或浏览器关闭时触发 ajax 调用。 对于 IE,以下代码正在运行:

if (window.event.clientY < 0 && (window.event.clientX > (document.documentElement.clientWidth - 5) || window.event.clientX < 0)) {

        logoutUser();//logging out the user

        } 
}


function logoutUser(){

var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera,
    //Safari
    xmlhttp = new XMLHttpRequest();
    } else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
xmlhttp.open("GET", "Logout.action", true);
xmlhttp.send();

}

如何在 Firefox 中执行此操作?请帮帮我。

【问题讨论】:

    标签: javascript jquery firefox browser dom-events


    【解决方案1】:

    使用onbeforeunload

    window.onbeforeunload = function (e) {
    
      e = e || window.event;
    
      // For IE and Firefox prior to version 4
      if (e) {
        e.returnValue = 'Any string';
      }
    
      // For Safari
      return 'Any string';
    };
    

    【讨论】:

    • onbeforeunload 与返回的字符串将向用户显示一个弹出窗口并询问他们是否确定要离开页面
    【解决方案2】:
    var closedWindow = function() {
        //code goes here
    };
    
    if (window.addEventListener) {
        window.addEventListener('unload', closedWindow, false);
    } else if (window.attachEvent) {
        // pre IE9 browser
        window.attachEvent('onunload', closedWindow);
    }
    

    【讨论】:

      【解决方案3】:
      window.addEventListener('unload',fn,false);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-13
        • 2014-01-18
        • 2015-04-11
        • 1970-01-01
        相关资源
        最近更新 更多