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 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。