[JS] IE關掉視窗詢問是否登出

在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');
                }
            }
        };