首頁  >  文章  >  web前端  >  javascript如何實現禁止刷新效果

javascript如何實現禁止刷新效果

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-04-14 10:44:015957瀏覽

js禁止刷新的方法:首先使用“window.event”檢測鍵盤事件對應的內碼;然後將內碼與“ctrl R”,F5鍵,“ctrl F5”鍵的鍵值碼進行比較;如果值相同,則設定「returnValue」值為false,取消刷新事件的發生即可。

javascript如何實現禁止刷新效果

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

document.onkeydown = function(e) {
        e = window.event || e;
        var k = e.keyCode;
        //屏蔽ctrl+R,F5键,ctrl+F5键  F3键!验证
        if ((e.ctrlKey == true && k == 82) || (k == 116)
                || (e.ctrlKey == true && k == 116)||k==114) {
            e.keyCode = 0;
            alert("当前页面不能刷新!");
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
        }
        if (k == 8) {
            alert("不能返回或后退!");
            e.keyCode = 0;
            e.returnValue = false;
            return false;
        }
        //屏蔽 Ctrl+n   验证可以实现效果
        if (e.ctrlKey && k == 78){
            e.keyCode = 0;
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
            }
        //屏蔽F11   验证可以实现效果
        if (k == 122) {
            e.keyCode = 0;
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
        }
        //屏蔽 shift+F10  验证可以实现效果      
        if ((e.shiftKey && k == 121)||(e.ctrlKey && k == 121)){
            e.keyCode = 0;
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
            }
        //屏蔽Alt+F4  
        if ((e.altKey) && (k== 115)) {
            window.showModelessDialog("about:blank", "",
                    "dialogWidth:1px;dialogheight:1px");
            e.keyCode = 0;
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
        }
        //屏蔽 Alt+ 方向键 ← ;屏蔽 Alt+ 方向键 → !验证
        if ((e.altKey)
                && ((k == 37) || (k == 39))) {
            alert("不准你使用ALT+方向键前进或后退网页!");
            e.keyCode = 0;
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
        }
    };
    
    //屏蔽右键菜单,!验证
    document.oncontextmenu = function(event) {
        if (window.event) {
            event = window.event;
        }
        try {
            var the = event.srcElement;
            if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
                return false;
            }
            return true;
        } catch (e) {
            return false;
        }
    };

【推薦學習:javascript進階教學

以上是javascript如何實現禁止刷新效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn