在实际的应用中,我们常常需要实现在移动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", "#");}});

注:部分代码参考网上!

后续问题收集:

1.在微信中进入页面就触发了popstate事件。

解决方法:定义boolean 变量bool=false。在页面加载后,采用setTimeout方法设置1.5s的超时,在超时执行方法中设置bool=true。

在popstate监听当中增加对bool的判断,当bool=true时,执行内容。具体代码如下:

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


很多人都不知道的监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法相关推荐

  1. php h5支付没有返回app中,很多人都不知道的监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法...

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

  2. php 微信监听返回键,JavaScript_JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,在实际的应用中,我们常常需 - phpStudy...

    JS监听微信.支付宝等移动app及浏览器的返回.后退.上一页按钮的事件方法 在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一 ...

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

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

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

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

  5. 微信服务通知消息找回_80%的人都不知道的10个微信冷知识,全都超实用!

    微信发展到现在,几乎成为了使用手机的人必装的国民软件,可是大家真的会玩微信吗?微信除了聊天.发朋友圈之外还有一些鲜为人知的"冷"知识,今天让我们一起来了解一下. 01"对 ...

  6. JS监听返回、后退、上一页按钮的事件方法

    原理:主要是通过pushState方法往histroy里增加url链接,并且提供popstate事件监测history栈里弹出url history属性简单描述: history.back()   与 ...

  7. 很多人都不知道的小秘密,c++中拷贝分为两种

    深拷贝与浅拷贝 下面为作者的总结以深刻理解深拷贝和甜拷贝 深拷贝:如果创建类对象时,相应的构造函数内用运算符new为对象的数据成员申请内存空间,那么在析构函数中应该用运算符 delete释放相应的内存 ...

  8. 99.99%人都不知道的“##“里用法

    99.99%人都不知道的"##"里用法 转:原文链接<99.99%人都不知道的"##"里用法> 编者荐语: 来来来,学习一些C语言骚气的操作! 以下 ...

  9. 苹果手机小技巧大全计算机,80%的人都不知道的五个iPhone实用小技巧,不知道的话赶紧看看...

    原标题:80%的人都不知道的五个iPhone实用小技巧,不知道的话赶紧看看 现在越来越多的人使用iPhone手机,而且iPhone新机也是出了一段时间了,但是还是有很多人不知道iPhone中的一些隐藏 ...

最新文章

  1. 用oracle列实现sqlserver的自增列
  2. 30岁的互联网人你靠什么而立?
  3. 模拟时钟中断的产生及设计一个对时钟中断事件进行处理的模拟程序_操作系统基础6-支持操作系统的最基本的硬件-中断...
  4. oxyen eclipse 启动 报错 se启动提示javaw.exe in your current PATH、No java virtual machine
  5. 中北大学计算机学,中北大学计算机类专业好吗
  6. php模拟远程提交get 、post 实例函数
  7. 在线常用crontab表达式大全验证解析
  8. Webservice检查
  9. 学习C++项目——mysql 数据库知识学习(关于 mysql 8.0 版以后基础部分学习)
  10. 脚本故事 - 2003年11月
  11. Linux上解压缩.gz、.bz2、.tar、.tar.gz、tar.xz后缀文件
  12. (附源码)Springboot酒店预订管理系统 毕业设计 100908
  13. 如何用Python批量获取生意参谋商品来源信息
  14. 使用自定义文件选择按钮选择文件
  15. matlab 滤波器设计工具,滤波器设计工具快速入门
  16. 这是一个猜数字的游戏。判断输入的第1个字符,略过其余的字符。
  17. 奇怪的消费者心理:看三个趣味经济学原理
  18. [Windows] 迅雷 无修改 无限制 无视封锁
  19. 非计算机专业买几寸电脑好,学习计算机网路技术专业,是不是需要买电脑啊
  20. 华为网络配置(OSPF)

热门文章

  1. mssql查询括号前的数据及括号中的数据
  2. 【定量分析、量化金融与统计学】统计推断基础(3)---点估计、区间估计
  3. ESRGAN: Enhanced 增强的Super-Resolution Generative Adversarial Networks
  4. java多态编程,java范例多态
  5. nest学习:定时任务
  6. 云呐|Sybase数据库性能监控工具
  7. 2018年冬季校园招聘会
  8. 海康威视linux密码忘记,Hikvision DS-2CD7153-E 网络摄像机远程缓冲区溢出漏洞(CVE-2013-4977)...
  9. MATLAB+二值贝叶斯分类器的手写汉字识别(简易实现)
  10. DSP28335管脚配置