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 19 Javascript
基于jQuery的弹出框插件
Mar 18 Javascript
ie支持function.bind()方法实现代码
Dec 27 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
Dec 16 Javascript
javascript不同类型数据之间的运算的转换方法
Feb 13 Javascript
下拉框select的绑定示例
Sep 04 Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 Javascript
js密码强度校验
Nov 10 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
Sep 27 Javascript
详解小程序用户登录状态检查与更新实例
May 15 Javascript
vue实现记事本功能
Jun 26 Javascript
js回到页面指定位置的三种方式
Dec 17 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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
php 购物车实例(申精)
2009/05/11 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
PHP生成器简单实例
2015/05/13 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
jquery 指南/入门基础
2007/11/30 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
初识Javascript小结
2015/07/16 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
python里将list中元素依次向前移动一位
2014/09/12 Python
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
python字符串的index和find的区别详解
2020/06/20 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
如何利用find命令查找文件
2016/11/18 面试题
会计学毕业生求职信
2014/06/25 职场文书
民事调解书范文
2015/05/20 职场文书
圆明园观后感
2015/06/03 职场文书
使用pytorch实现线性回归
2021/04/11 Python