首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js监听手机端点击物理返回键或js监听pc端点击浏览器返回键

之前在项目中遇到一个问题,就是在微信网页上面本来是有返回按钮的,但是大多数人都为了方便,会使用安卓手机自带的物理返回键,这个返回键按下后,就会按照你浏览器的栈存储的路径来一层一层返回,就不执行你页面上的那个返回按钮的操作了...,但是这个物理返回键的监听好像没有直接的办法进行,所以有人就想到了曲线的办法 原理: 页面加载完成时,调用history.pushState写入一个指定状态STATE,并监听window.onpopstate...; 当onpopstate被触发时,检查event.state是否等于STATE,如果相等,表示页面发生了后退(按下返回键或者浏览器的后退按钮),则把这次行为当作是返回键被按下了(把点击浏览器的后退按钮也误算进来了...,你还需要监听这个物理返回键,这时候你就需要再上次那个操作完之后再使用histroy.pushState再写入一次之前写入的那个状态,这样下次会继续监听那个物理返回键,否则下次你再点击那个返回键的话,就会直接返回浏览器的栈的上一级...举个例子: 我在vue的项目中引入xback.js js/xback.js" @load="load_xback">  关于上面在

9.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    flutter 返回键监听

    本篇为继上片监听返回键基础下优化: 以下做返回键监听两种情况: import 'package:fluttertoast/fluttertoast.dart'; //提示第三方插件 1....单击提示双击退出,双击时退出App DateTime _lastPressedAt; //上次点击时间 main.dart-MyApp中: home: WillPopScope( // 监听返回键Widget...  onWillPop: () async { // 点击返回键即触发该事件     if (_lastPressedAt == null) { //首次点击提示...信息       Fluttertoast.showToast...单击返回手机桌面,不退出App main.dart文件 import 'package:flutter_smart_park/untils/android_back_desktop.dart'; home...  static Future backDeskTop() async {     final platform = MethodChannel(CHANNEL);     //通知安卓返回

    4.1K20

    H5及微信小程序实测可用——监听手机返回键操作

    微信小程序开发过程中我们经常遇到需要监听点击左上角返回、手机物理返回键或者左滑返回的需求 微信原生是没有API支持监听的 这时候我们可以借助以下两种方法实现该操作 1.自定义导航(...app.js中配置,单页面使用可在对应的xxx.js中使用 使用自定义导航 我们可以在点击左上角箭头返回的方法中实现各种需求 但是这种方法只能监听左上角的返回 达不到我们想要的效果 附:https...://github.com/lingxiaoyi/navigation-bar 上边是我项目中使用过的导航组件 具体使用方法可以看该组件介绍 2.内嵌H5实现拦截物理键返回(均可监听) 这种方式可以监听三种返回操作...需要使用内嵌H5来解决 微信小程序内嵌H5方法 注意:需要提前配置h5的域名到小程序后台的业务域名中 然后在H5中我们要使用pushState...window.history.pushState(null, null, "#"); alert('我被拦截了') }) 测试物理键返回

    2.4K10

    web app 中物理返回键的监听

    使用Vue + Vant 进行web app 的开发,需要处理 android 自带的物理返回键,对不同页面,点击物理返回键进行不同的处理 那如何监听到物理返回键,并进行相应的处理?...01 app网页返回键 vs 手机物理返回键 网页上的返回键是返回上一个页面的意思, 手机上的返回键是返回上一个操作。...并且手机上的返回键还有很多其它功能,在使用某些软件可以双击返回键退出app 02 Vue 中监听物理返回键 使用h5+ 提供的 plus 对象进行处理,具体代码如下 document.addEventListener...,双击退出app 实现,单击返回键进行退出,双击退出app 分析:通过一个 first 变量来记录次数,且两次点击的时间间隔不能超过1500....if (e.canBack) { webview.back(); } else { //首页返回键处理

    1.2K20

    iOS监听H5页面goBack返回事件 & 网页监听APP返回键 (NavigationBackItemInjection)

    1.1 UIWebView 监听H5页面goBack返回事件 1.2 WKWebView监听H5页面goBack返回事件 2.1 原理 2.2 例子 什么时候会触发这个返回事件?...弹框 WKWebView调用js方法 监听 estimatedProgress 引言 需求:原生app使用WebView 控制器加载H5页面进行信用卡申请 问题:用户点击残忍放弃之后,没有关闭当前控制器...解决方案: 1、iOS监听H5页面goBack返回事件 2、直接使用Safari打开URL 相关文章: iOS 封装WebView 控制器https://kunnan.blog.csdn.net/article.../details/114832679 I 、 iOS监听H5页面goBack返回事件 方式一:通过与JS的桥接,让h5主动通知你的 如果是采用通过与JS的桥接,让h5主动通知你的方案,请看这两篇文章 1...H5页面goBack返回事件 UIWebView,可通过UIWebViewNavigationTypeBackForward来监听返回事件 - (BOOL)webView:(UIWebView *)webView

    6.1K21

    在vue中如何监听移动端的返回键

    环境:vue.js+vant 问题:首页列表和分类页的列表用的同一个页面,页面区分用的是本地缓存,希望在分类页点击返回的时候,执行清除缓存,刷新页面 解决原理:利用history和浏览器刷新popstate...状态去实现 每一次返回都会去历史记录回退 -1 所以就在进入页面之前 往历史记录里面多记录一次当前页面的链接。...然后再回退的时候监听刷新,去做一些事情。...否则其他vue路由页面也会被监听 destroyed(){ window.removeEventListener('popstate', this.refreshFn, false);//false...阻止默认事件 }, 3、将监听操作写在methods里面,removeEventListener取消监听内容必须跟开启监听保持一致,所以函数拿到methods里面写 methods:{ refreshFn

    3.6K20

    Python微信公众号后台开发:图片上传及返回

    对于公众号,有时我们会需要返回图片,那么今天就说说怎么成功的返回图片呢?...主要流程 获取图片 图片处理,上传 返回图片 首先我们需要获取图片的信息,通过@robot.image获取用户图片信息 # 用户发送图片 @robot.image def blog(message,...f.write(r.content) 图片处理及上传 图片处理:这里自己想怎么处理就怎么处理吧,用Python给头像加上圣诞帽或圣诞老人小图标 图片上传: 上传临时素材接口,获取临时图片的media_id返回图片...通过调用官方的上传临时素材接口(我这里图片只做临时返回处理,没必要永久保存) ?...reply = ImageReply(media_id=media_id, message=message) return reply 这样一个完整的图片获取,下载、处理、上传、返回就完成了。

    1.5K10

    .Net微信网页开发之使用微信JS-SDK自定义微信分享内容

    第一步、微信JS-SDK的使用步骤,配置信息的生成获取讲解:   关于JS-SDK的使用步骤和timestamp(时间戳),nonceStr(随机串),signature(签名),access_token...(接口调用凭据)生成获取的详细说明在这里:https://www.cnblogs.com/Can-daydayup/p/11124092.html 第二步、调用微信JS-SDK自定义分享内容接口: //注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数...function () { // 设置成功 alert("分享成功"); } }) }); }); 第三步、通过点击微信右上角的按钮...,找到微信分享: 注意:你在微信中无法定义事件去主动触发微信分享,需要点击微信右上角的按钮然后就能够找到微信分享。

    11.4K30

    .Net微信网页开发之使用微信JS-SDK调用微信扫一扫功能

    前言:   之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息。...正好微信JS-SDK提供了调用微信扫一扫的功能接口,下面让我们来看看是如何实现的吧。...第一步、微信JS-SDK的使用步骤,配置信息的生成获取讲解:   关于JS-SDK的使用步骤和timestamp(时间戳),nonceStr(随机串),signature(签名),access_token...扫描二维码"> //注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端...}); //调用微信扫一扫接口 function scan() { //首先判断是否使用微信内,因为微信JS-SDK只有在微信环境下才有用 var environmental= window.navigator.userAgent.toLowerCase

    14.4K30

    微信公众号开发报错 返回码说明「建议收藏」

    全局返回码说明 公众号每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误。...全局返回码说明如下:(更新时间:2018年8月6日) -1 系统繁忙,此时请开发者稍候再试 0 请求成功 40001 获取 access_token 时 AppSecret 错误,或者 access_token...请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 40002 不合法的凭证类型 40003 不合法的 OpenID ,请开发者确认 OpenID (该用户)是否已关注公众号...40117 分组名字不合法 40118 media_id 大小不合法 40119 button 类型错误 40120 button 类型错误 40121 不合法的 media_id 类型 40132 微信号不合法...请参考基础支持 – 获取 access_token 中,对 access_token 的详细机制说明 42002 refresh_token 超时 42003 oauth_code 超时 42007 用户修改微信密码

    1.7K20

    微信开发

    微信支付和开放平台是属于微信开发两个体系,我们今天只说微信开放平台,打开微信开放平台,包括移动应用开发,网站应用开发,公众号开发,第三方平台开发,第三方平台开发在这里就不说了,本质就是做组件,做通用的的解决方案...开放平台下面的应用的关系图如下图,如果你要做微信登录,有扫码绑定就可以了; 微信消息的话需要服务号和扫码绑定;小程序独立存在,但是微信消息又可以跳转到小程序。 ?...如果把下面的名词理解透彻,微信开发就不是什么大事了!...UNION_ID 同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的UnionID是唯一的。当开发者拥有多个公众号或应用时,同使用UnionID来确保账号的唯一性。...事件订阅 新用户关注微信公众平台或者接受微信消息,将产生一个订阅事件,即subscribe事件,微信消息就要靠订阅事件来完成。 最后注意一下白名单和回调域设置,当然其他还有非常多的东西需要注意。

    2K40

    【微信开发】微信开发 之 开启开发模式

    开发者文档 首先进入编辑模式, 将编辑模式关闭, 进入开发模式 :  点击查看文档, 就可以打开微信的开发者文档 : 路线 功能 -> 高级功能 -> 开发模式 -> 查看文档 ; 开发者文档目录结构说明...:  -- 新手接入 : 包括 接入指南 典型案例介绍 开发者规范, 讲解如何接入开发者模; -- 基础支持 : 包括 获取access_token 全局返回码说明 接口频率限制说明 上传下载多媒体文件...JS接口 : 包括 隐藏微信中网页右上角的按钮 隐藏微信中网页底部的导航栏 网页获取用户网络状态; -- 开发者交流互助 : 包括 开发者问答系统 接口调试工具 接口体验测试号申请; 2....开发者校验流程解析 (1)申请消息接口 点击开发模式 "成为开发者" 按钮之后, 会弹出协议 :  之后会弹出填写 URL 和 Token :  -- URL : 用来接收微信服务器数据的接口URL;...: 将加密后的字符串 与 signature 参数对比, 如果相等则说明请求来自微信服务器, 原样返回参数 echostr; 二.

    1.3K20
    领券