1. 程式人生 > >瀏覽器關閉用什麼事件判斷

瀏覽器關閉用什麼事件判斷

js標籤只有onload\onunload\onbeforeunload事件,而沒有onclose事件。
不管頁面是關閉還是重新整理都會執行onunload事件。
如何捕捉到頁面關閉呢? 
頁面載入時只執行onload 
頁面關閉時只執行onunload 
頁面重新整理時先執行onbeforeunload,然後onunload,最後onload。
這樣我們可以在onbeforeunload中加一個標記,在onunload中判斷該標記,即可達到判斷頁面是否真的關閉了。

--------------------程式碼1---------------------------------
window.onbeforeunload = function() {    
 
var n = window.event.screenX - window.screenLeft;    
 
var b = n > document.documentElement.scrollWidth-20;    
  
if(b && window.event.clientY < 0 || window.event.altKey) {    
 
alert("是關閉而非重新整理");    
  
window.open(this.location);      

//return false;   
  
//window.event.returnValue = ""; }    
  
} else{   
  
alert("是重新整理而非關閉");    
  
}   

----------------------程式碼2-------------------------------
function promptOnClose(e){   
  
//e = e ? e : windowevent;   
  
var promptString = '你是否要離開此頁面,離開該頁面的資訊將不被儲存!';   
  
//event.returnValue = promptString;   
  
return promptString;   
  
}   

if (window != top){   
  
top.location.href = "
www.baidu.com
"; }else{ if (window.Event) { window.onbeforeunload = function(event) { return promptOnClose(event); } } else { window.onbeforeunload = function() { return promptOnClose(event); } } } }