JS可以監聽瀏覽器頁面的關閉,主要使用了window對象的onbeforeunload方法
在以前(舊版本的瀏覽器中),可以自定義提示文案
window.onbeforeunload = function (e) { var message = 'some word'; e = e || window.event; if (e) { e.returnValue = message; } return message; };
但在新版本的瀏覽器中,為了安全性,已經不支持自定義彈窗
諸如自定義實現“用戶離開頁面,彈窗自定義提示是否離開,點擊取消不離開,點擊確認離開后離開頁面”的需求已無法實現
能做的,只是調用瀏覽器自帶的提示確認窗格


window.onbeforeunload = function(e) { console.log('beforeunload') return 1; };
目前來說,只能這樣控制是否顯示系統的頁面離開確認。
要注意的是,只有以下情況不會彈出確認窗格
- 不return
- return;
- return undefined;
- return null;
而返回其他任意值都會彈出,如
- return '';
- return false;
- return 0;
- return 1; 等等
在Chrome中

在FireFox中

在IE中

可以看到,在IE中還支持顯示離開的提示信息“hh”
