在IE瀏覽器下,可以比較正確地偵測使用者關閉視窗的動作,因此可應用在詢問登出的動作上,至於登出的動作則需要瀏覽器設定較高的安全性,才可以處理登出動作喔。
在IE瀏覽器下,可以比較正確地偵測使用者關閉視窗的動作,因此可應用在詢問登出的動作上,至於登出的動作則需要瀏覽器設定較高的安全性,才可以處理登出動作喔。 我試過在FireFox、Chrome下都無法正確判斷出關閉視窗動作,應該是在onbeforeunload事件的限制較多,因此以下範例只建議IE瀏覽器使用。
var isAltF4 = false;
//判斷是否按下ALT+F4
function keydown() {
if ((window.event.altKey) && (window.event.keyCode == 115))
isAltF4 = true;
else
isAltF4 = false;
}
//註冊Event
document.onkeydown = keydown;
window.onbeforeunload = function (e) {
var HalfWidth = document.body.offsetWidth / 2; //用一半寬度區分重整按鈕與X按鈕
if ((event.clientX > HalfWidth && event.clientY < 0) || isAltF4) {
if (window.confirm('是否將目前帳戶登出?')) {
//處理登出
window.open('logout.aspx');
}
}
};