瀏覽器關閉用什麼事件判斷
阿新 • • 發佈:2019-01-27
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); } } } }