HTML5 浏览器返回按钮/手机返回按钮事件监听

1.HTML5  History对象

支持使用pushState()方法修改地址栏地址,而不刷新页面。

popstate事件

当history实体被改变时,popstate事件将会发生。调用pushState()方法或者replaceState()方法是触发,当用户点击浏览器返回按钮时也会触发。

事件注册实例:

window.addEventListener('popstate', function (event) {
    console.info(event);
    console.info(event.state);
    console.info(event.state.id);
});

2.根据这个事件,如果在触发是重新添加当前页面状态,这样的话用户通过返回按钮就无法离开这个页面了。

从而实现返回按钮被锁定的状态

<div id="number"></div>

<script>
    pushHistory();
    var number=0;
    window.addEventListener("popstate", function (e) {
        // alert("我监听到了浏览器的返回按钮事件啦"); //根据自己的需求实现自己的功能 
        number++;
        var p=document.createElement('p');
        p.innerHTML=number;
        document.getElementById('number').appendChild(p);
        pushHistory(); //注,此处调用,可以用户一直停留着这个页面
    }, false);

    function pushHistory() {
        var state = {
            title: "title",
            url: "#"
        };
        window.history.pushState(state, "title", "#");
    }
</script>

 

更多:

HTML5 History对象,Javascript修改地址栏而不刷新页面

HTML5 History对象,Javascript修改地址栏而不刷新页面(二)

HTML5 Geolocation API地理定位整理(二)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值