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 相关文章推荐
jquery蒙版控件实现代码
Dec 08 Javascript
jq选项卡鼠标延迟的插件实例
May 13 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 Javascript
JS实现倒计时(天数、时、分、秒)
Nov 16 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
关于使用axios的一些心得技巧分享
Jul 02 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 Javascript
vue项目中将element-ui table表格写成组件的实现代码
Jun 12 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数据流应用的简单例子
2012/06/01 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
js实现点赞效果
2020/03/16 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python实现爬取逐浪小说的方法
2015/07/07 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
Python sorted对list和dict排序
2020/06/09 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
促销活动总结怎么写
2014/06/25 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书