js監聽瀏覽器離開頁面操作


1、unload 事件屬性

//window
window.onbeforeunload=function(e){     
  var e = window.event||e;  
  e.returnValue=("確定離開當前頁面嗎?");
}

用法:當用戶離開頁面時,會發生 unload 事件。注意:如果您重載頁面,也會觸發 unload 事件(以及 onload 事件)。 

  觸發於:

關閉瀏覽器窗口
通過地址欄或收藏夾前往其他頁面的時候
點擊返回,前進,刷新,主頁其中一個的時候
點擊 一個前往其他頁面的url連接的時候
調用以下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
當用window open打開一個頁面,並把本頁的window的名字傳給要打開的頁面的時候。
重新賦予location.href的值的時候。
通過input type="submit"按鈕提交一個具有指定action的表單的時候。 

onbeforeunload 事件屬性

//body
<body onbeforeunload="goodbye()">
//window
window.onbeforeunload=function(e){     
  var e = window.event||e;  
  e.returnValue=("確定離開當前頁面嗎?");
}

用法:onbeforeunload 事件在即將離開當前頁面(刷新或關閉)時觸發。該事件可用於彈出對話框,提示用戶是繼續瀏覽頁面還是離開當前頁面。對話框默認的提示信息根據不同的瀏覽器有所不同,標准的信息類似 "確定要離開此頁嗎?"。該信息不能刪除。但你可以自定義一些消息提示與標准信息一起顯示在對話框。注意: 在 Firefox 瀏覽器中,只顯示默認提醒信息(不顯示自定義信息)。

  觸發於: 

關閉瀏覽器窗口 
通過地址欄或收藏夾前往其他頁面的時候 
點擊返回,前進,刷新,主頁其中一個的時候 
點擊 一個前往其他頁面的url連接的時候 
調用以下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. 
當用window open打開一個頁面,並把本頁的window的名字傳給要打開的頁面的時候。 
重新賦予location.href的值的時候。 
通過input type=”submit”按鈕提交一個具有指定action的表單的時候。

連接https://www.cnblogs.com/slly/p/7991474.html

 

<!DOCTYPE html>
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script>
    function onbeforeunload() {
      debugger;
      //用戶點擊瀏覽器右上角關閉按鈕
      if (event.clientX > document.body.clientWidth && event.clientY < 0 || event.altKey) {
        document.getElementById("btnCompelete").click();
        //window.event.returnValue="確定要退出本頁嗎?";   
      }
      //用戶點擊任務欄,右鍵關閉
      else if (event.clientY > document.body.clientHeight || event.altKey) {
        document.getElementById("btnCompelete").click();
        //window.event.returnValue="確定要退出本頁嗎?";   
      }
      else{ //其他情況為刷新         
        alert("你在刷新");
      }
    }
  </script>
</HEAD>

<body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()">
</body>
<script language="JavaScript" type="text/javascript">
  var DispClose = true;
  function CloseEvent() {
    debugger
    if (DispClose) {
      return "是否離開當前頁面?";
    }
  }
  function UnLoadEvent() {
    DispClose = false;
    //在這里處理關閉頁面前的動作
  }
</script>
</HTML>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM