禁止浏览器页面的前进和后退的方式

禁止浏览器页面的前进和后退的方式:

1.禁止浏览器页面的前进和后退(包括 键盘、鼠标手势等产生的后退动作。)

<script language="javascript">

        //防止页面后退

        history.pushState(null, null, document.URL);

        window.addEventListener('popstate', function () {

            history.pushState(null, null, document.URL);

        });

    </script>

2.禁止浏览器后退按钮

function BanBack(ele) {

    //禁止浏览器后退按钮

    if (window.history && window.history.pushState) {

        $(window).on('popstate', function () {

            window.history.pushState('forward', null, '#');

            window.history.forward(1);

            if (ele) {//特殊处理后退url地址

                window.location.href = ele;

            }

        });

    }

    window.history.pushState('forward', null, '#'); //在IE中必须得有这两行

    window.history.forward(1);

}

原文:https://blog.csdn.net/weixin_40687883/article/details/80391058

3.禁用键盘的backspace键

<script type="text/javascript">

//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外

function banBackSpace(e){

var ev = e || window.event;//获取event对象

var obj = ev.target || ev.srcElement;//获取事件源

var t = obj.type || obj.getAttribute('type');//获取事件源类型

//获取作为判断条件的事件类型

var vReadOnly = obj.getAttribute('readonly');

var vEnabled = obj.getAttribute('enabled');

//处理null值情况

vReadOnly = (vReadOnly == null) ? false : vReadOnly;

vEnabled = (vEnabled == null) ? true : vEnabled;

//当敲Backspace键时,事件源类型为密码或单行、多行文本的,

//并且readonly属性为true或enabled属性为false的,则退格键失效

var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")

&& (vReadOnly==true || vEnabled!=true))?true:false;

//当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效

var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")

?true:false;

//判断

if(flag2){

return false;

}

if(flag1){

return false;

}

}

//禁止后退键 作用于Firefox、Opera

document.onkeypress=banBackSpace;

//禁止后退键 作用于IE、Chrome

document.onkeydown=banBackSpace;

</script>

原文:https://blog.csdn.net/zc474235918/article/details/53138553

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • =======================ES5=============================...
    Heily99阅读 187评论 0 0
  • 第一周作业: 1、常见Linux的发行版有哪些?并描述不同发行版之间的联系与区别 答:常见的Linux发行版本有 ...
    飛哆哆阅读 214评论 0 0
  • “拆书减肥法”好玩、不累, 同时还能学管理知识! 你想不想要? ....... 《丸子减肥记》系列来啦! 想减肥,...
    太阳姐姐阅读 827评论 0 0
  • 拥有金山跟银矿,其实不值得羡慕。俗话说:授人以鱼不如授人以渔。与其选择万贯家财,倒不如选择一个会持续冒出钱...
    郭瀚教练阅读 271评论 0 1
  • 之前我总在纠结考取MBA到底正不正确,也有人劝我:学费那么贵,值不值得?今天我坚信了我的观点。 我们身边不乏有这样...
    杉木1113阅读 230评论 1 0