• 技术文章 >web前端 >js教程

    javascript如何实现禁止刷新效果

    醉折花枝作酒筹醉折花枝作酒筹2021-04-14 10:44:01原创336

    js禁止刷新的方法:首先使用“window.event”检测键盘事件对应的内码;然后将内码与“ctrl+R”,F5键,“ctrl+F5”键的键值码进行对比;如果值相同,则设置“returnValue”值为false,取消刷新事件的发生即可。

    本教程操作环境: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中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript 禁止刷新
    上一篇:详解3种webpack中常用的JS压缩插件 下一篇:深入浅析nodejs中的事件和事件循环
    大前端线上培训班

    相关文章推荐

    • javascript怎么关闭当前窗口• javascript怎么移除DOM元素• Javascript中导入js文件的两种方式• ie如何关闭javascript脚本• javascript怎么删除div节点

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网