实现捕获手机物理返回键(vue)

这篇博客介绍了如何在JavaScript中通过popstate事件监听物理返回键,并提供了两种实现方式。第一种方式直接利用popstate事件重定向到指定页面,第二种方式通过创建自定义事件XBack监听返回操作。此外,博客还提供了一个名为XBack的js文件方法,用于在不同文件间共享返回键监听功能。
摘要由CSDN通过智能技术生成

JavaScript没有监听物理返回键的API,所以只能使用 popstate 事件监听。

1、返回到指定的页面
pushHistory(); 

        window.addEventListener("popstate", function(e) { 
            window.location = 'http://www.baidu.com';
        }, false); 

        function pushHistory() { 
            var state = { 
                title: "title", 
                url: "#"
            }; 
            window.history.pushState(state, "title", "#"); 
        }
2、js文件方法

此声明函数在xback.js文件里有,在app.js里必须再声明一次,不然监听返回事件失败。
/**
 * 使用 HTML5 的 History 新 API pushState 来曲线监听 Android 设备的返回按钮
 * XBack.listen(function(){
        alert('oh! you press the back button');
    });
 */

;!function(pkg, undefined){
    var STATE = 'x-back';
    var element;

    var onPopState = function(event){
        event.state === STATE && fire();
    }

    var record = function(state){
        history.pushState(state, null, location.href);
    }

    var fire = function(){
        var event = document.createEvent('Events');
        event.initEvent(STATE, false, false);
        element.dispatchEvent(event);
    }

    var listen = function(listener){
        element.addEventListener(STATE, listener, false);
    }

    ;!function(){
        element = document.createElement('span');
        window.addEventListener('popstate', onPopState);
        this.listen = listen;
        record(STATE);
    }.call(window[pkg] = window[pkg] || {});

}('XBack');
调用方法:
XBack.listen(function(){
    alert('back');
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值