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 相关文章推荐
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
Apr 21 Javascript
JavaScript 继承机制的实现(待续)
May 18 Javascript
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
Jul 09 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
JS实现弹出下载对话框及常见文件类型的下载
Jul 13 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
浅谈webpack打包之后的文件过大的解决方法
Mar 07 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
Mar 29 Javascript
微信小程序开发打开另一个小程序的实现方法
May 17 Javascript
Node.js API详解之 dgram模块用法实例分析
Jun 05 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
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
php正则修正符用法实例详解
2016/12/29 PHP
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
python打开网页和暂停实例
2014/09/30 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
python绘制动态曲线教程
2020/02/24 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
怎样声明接口
2014/09/19 面试题
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
物理系毕业生自荐书范文
2014/02/22 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
孔繁森观后感
2015/06/10 职场文书
家长会后的感想
2015/08/11 职场文书
教学副校长工作总结
2015/08/13 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技
Hive HQL支持2种查询语句风格
2022/06/25 数据库