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 相关文章推荐
JavaScript中的其他对象
Jan 16 Javascript
javascript用户注册提示效果的简单实例
Aug 17 Javascript
JS对HTML标签select的获取、添加、删除操作
Oct 17 Javascript
jquery select 设置默认选中的示例代码
Feb 07 Javascript
js下将金额数字每三位一逗号分隔
Feb 19 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 Javascript
element-ui中按需引入的实现
Dec 25 Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 Javascript
如何在JavaScript中使用localStorage详情
Feb 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读取csv实现csv文件下载功能
2013/12/18 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
Vue中util的工具函数实例详解
2019/07/08 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Django中的ajax请求
2018/10/19 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
实例讲解Python3中abs()函数
2019/02/19 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
Python异常处理机制结构实例解析
2020/07/23 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
食品安全宣传标语
2014/06/07 职场文书
股权转让协议书
2014/12/07 职场文书
同学会邀请函模板
2015/01/30 职场文书
政府会议通知范文
2015/04/15 职场文书
mysql如何能有效防止删库跑路
2021/10/05 MySQL