JavaScript监听手机物理返回键的两种解决方法

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

有两个解决办法:

1、返回到指定的页面

rush:js;"> 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里必须再声明一次,不然监听返回事件失败。

rush: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');

调用方法

rush:js;"> XBack.listen(function(){ alert('back'); });

总结

以上所述是小编给大家介绍的JavaScript监听手机物理返回键的两种解决方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...