移动端web开发,浏览器或微信浏览器,打开web页面后,如何监听用户触发了安卓手机物理返回键?
你们有用javascript实现过这个功能么?
就是加历史记录,点击返回手机会自动处理,不要你监听。
没办法监听的
这是我修改后的监听事件代码:
;!function(pkg, undefined){ //此声明函数在xback.js文件里有,在app.js里必须再声明一次,不然监听返回事件失败
var STATE = 'x-back';
var element;
var onPopState = function(event){
event.state === STATE && fire();
record(STATE); //初始化事件时,push一下
}
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('oh! you press the back button');
});
移动端web开发,页面如何监听安卓手机物理返回键的回退事件?你最终是是怎么解决的呢? 这个代码完整的咋写的?
android物理返回键只能通过类似cordova提供的插件来监听,引入cordova后就可以监听backbutton事件了
document.addEventListener("backbutton", onBackKeyDown, false);
关键词:
pagehide
persisted
如果说你的浏览有历史记录的话,点击返回其实就相当于点击浏览器回退键,然后这样的话你是可以通过监听hashchange 或者popstate事件来做处理,如果没有的话,那就无能为力了