onunload,onbeforeunload 在頁面刷新或關閉時調用,區別在於:javascript
onbeforeunload 是在頁面刷新或關閉前觸發,這時瀏覽器並未請求服務器讀取新頁面,所以onbeforeunload是能夠阻止頁面更新或關閉的。html
onunload 也是在頁面刷新或關閉時觸發,不過這時瀏覽器已經向服務器請求讀取新頁面,所以onunload是沒法阻止頁面更新或關閉的。
java
事件觸發時會彈出一個有肯定和取消的對話框,肯定後纔會執行後續事件,不然繼續留在本頁。
觸發於:
瀏覽器
關閉瀏覽器窗口 服務器
經過地址欄或收藏夾前往其餘頁面的時候 ui
點擊返回,前進,刷新,主頁其中一個的時候 url
點擊 一個前往其餘頁面的url鏈接的時候 spa
調用如下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. .net
當用window open打開一個頁面,並把本頁的window的名字傳給要打開的頁面的時候。 orm
從新賦予location.href的值的時候。
經過input type=」submit」按鈕提交一個具備指定action的表單的時候。
能夠用在如下元素:
BODY, FRAMESET, window
平臺支持:IE,Firefox,Chrome,Safari。Opera暫不支持。
例子:
[html] view plain copy
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title> 刷新與離開頁面檢測 </title>
</head>
<body>
<script type="text/javascript">
window.onbeforeunload = function(){
return '你的文章還沒有保存';
}
</script>
</body>
</html>
事件觸發時,會彈出一個只有肯定的對話框,點肯定後執行後續事件。
觸發於:
關閉瀏覽器窗口
經過地址欄或收藏夾前往其餘頁面的時候
點擊返回,前進,刷新,主頁其中一個的時候
點擊 一個前往其餘頁面的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的表單的時候。
平臺支持:只有IE,其餘都不支持。
例子:
[html] view plain copy
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title> 刷新與離開頁面檢測 </title>
</head>
<body>
<script type="text/javascript">
window.onunload = function(){
alert('謝謝下次再來');
}
</script>
</body>
</html>