JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法


Posted in Javascript onAugust 05, 2016

在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回、后退、上一页等按钮实现自己的关闭页面、调整到指定页面或执行一些其它操作的需求,那在代码中怎样监听当点击微信、支付宝、百度糯米、百度钱包等app的返回按钮或者浏览器的上一页或后退按钮的事件呢。

我相信很多朋友像我一样,在百度、搜狗里面搜索很久都没找到方法。

下面就来告诉大家怎样监听的方法:

首先我们要了解浏览器的history。

大家知道在页面中我们可以使用javascript window history,后退到前面页面,但是由于安全原因javascript不允许修改history里已有的url链接,但可以使用pushState方法往history里增加url链接,并且提供popstate事件监测从history栈里弹出url。既然有提供popstate事件监测,那么我们就可以进行监听。

返回、后退、上一页按钮点击监听实现代码:

window.addEventListener("popstate", function(e) { 
alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能 
}, false);

虽然我们监听到了后退事件,但是页面还是会返回上一个页面,所以我们需要使用pushState增加一个本页的url,代表本页,大家都非常清楚是#

function pushHistory() { 
var state = { 
title: "title", 
url: "#" 
}; 
window.history.pushState(state, "title", "#"); 
}

当进入该页面,我们就给这个history压入一个本地的连接。当点击返回、后退及上一页的操作时,就进行监听,在监听代码中实现自己操作。

下面是完整的代码:

$(function(){ 
pushHistory(); 
window.addEventListener("popstate", function(e) { 
alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能 
}, false); 
function pushHistory() { 
var state = { 
title: "title", 
url: "#" 
}; 
window.history.pushState(state, "title", "#"); 
} 
});

以上内容只是小编给大家列出的核心代码,大家根据需求适当的添加,修改,删除代码。如果大家在参考本段代码的过程中发现有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
网页的标准,IMG不支持onload标签怎么办
Jun 29 Javascript
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
Jan 16 Javascript
doctype后如何获得body.clientHeight的方法
Jul 11 Javascript
在javascript中实现函数数组的方法
Dec 25 Javascript
JQuery中Bind()事件用法分析
May 05 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
Oct 15 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
Vue.js 插件开发详解
Mar 29 Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 Javascript
vue router的基本使用和配置教程
Nov 05 Javascript
vue如何限制只能输入正负数及小数
Jul 04 Javascript
jQuery实现定位滚动条位置
Aug 05 #Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
Aug 05 #Javascript
浅谈JavaScript中的this指针和引用知识
Aug 05 #Javascript
JavaScript中的this引用(推荐)
Aug 05 #Javascript
JS实现HTML表格排序功能
Aug 05 #Javascript
JavaScript如何实现跨域请求
Aug 05 #Javascript
JavaScript数组操作函数汇总
Aug 05 #Javascript
You might like
部署PHP时的4个配置修改说明
2015/10/19 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
原生JS封装animate运动框架的实例
2017/10/12 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
python迭代器常见用法实例分析
2019/11/22 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
美国美妆网站:B-Glowing
2016/10/12 全球购物
Otel.com:折扣酒店预订
2017/08/24 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
力学专业毕业生自荐信
2013/11/17 职场文书
经典演讲稿范文
2013/12/30 职场文书
人力资源总监工作说明
2014/03/03 职场文书
党员证明信
2015/06/19 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python