javascript - 移动端web开发,页面如何监听安卓手机物理返回键的回退事件
伊谢尔伦
伊谢尔伦 2017-04-10 15:37:26
[JavaScript讨论组]

移动端web开发,浏览器或微信浏览器,打开web页面后,如何监听用户触发了安卓手机物理返回键?
你们有用javascript实现过这个功能么?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(7)
PHP中文网

这是我修改后的监听事件代码:
;!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');

});

巴扎黑

如果说你的浏览有历史记录的话,点击返回其实就相当于点击浏览器回退键,然后这样的话你是可以通过监听hashchange 或者popstate事件来做处理,如果没有的话,那就无能为力了

PHP中文网

没办法监听的

天蓬老师

android物理返回键只能通过类似cordova提供的插件来监听,引入cordova后就可以监听backbutton事件了

document.addEventListener("backbutton", onBackKeyDown, false);
黄舟

就是加历史记录,点击返回手机会自动处理,不要你监听。

PHP中文网

关键词:

  1. pagehide

  2. persisted

ringa_lee

移动端web开发,页面如何监听安卓手机物理返回键的回退事件?你最终是是怎么解决的呢? 这个代码完整的咋写的?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号