首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

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

    9.3K10

    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-JavaScript交互方案:网页监听APP返回(goback)+APP监听网页返回(JS调用OC对象方法)

    1.网页监听APP返回(原生goback) 假设需求:当APP点击原生导航栏左上角返回时,APP并不返回上级VC,而是让UIWebView返回上级页面。...([_webView canGoBack]) { [_webView goBack]; return NO; } return YES; } 2.网页监听...APP返回(OC调用JS) 假设需求:APP隐藏原生导航栏,相当于网页全屏了,当在APP中点击网页端的左上角返回时,APP退出UIWebView并返回上级VC页面。...之后在回调JavaScript的方法Callback把内容传出去 dispatch_async(dispatch_get_main_queue(), ^{ //APP返回上级页面动作...//blog.csdn.net/lwjok2007/article/details/47058101 http://blog.sina.com.cn/s/blog_12ec09c9c0102w31d.html

    4.1K30

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

    1.1 UIWebView 监听H5页面goBack返回事件 1.2 WKWebView监听H5页面goBack返回事件 2.1 原理 2.2 例子 什么时候会触发这个返回事件?...解决方案: 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...WebView相关的返回类型及方法 1、UIWebViewNavigationTypeBackForward 2、canGoBack:判断当前H5界面是否可以返回的方法 3、goBack: 返回上一个界面...H5页面goBack返回事件 UIWebView,可通过UIWebViewNavigationTypeBackForward来监听返回事件 - (BOOL)webView:(UIWebView *)webView

    5.9K21

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

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

    3.5K20

    Android开发实现Fragment监听返回事件功能的方法

    本文实例讲述了Android开发实现Fragment监听返回事件功能的方法。...这里再来分析一下Fragment监听返回事件的具体应用。 背景 项目要求用户注册成功后进入修改个人资料的页面,且不允许返回到上一个页面,资料修改完成后结束当前页面,进入APP主页。...由于是使用多个Fragment完成注册流程,就需要Fragment监听用户点击手机上的返回按钮,查了一些资料,加上自己使用过程中发现的问题,特此记录,帮助更多有此需求的朋友 代码实现 XXX_Fragment...,点击返回返回到上个页面。...Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(nickname.getWindowToken(), 0); //使得根View重新获取焦点,以监听返回

    2K10

    ionic监听android返回实现“再按一次退出”功能

    在android平台上的app,在主页面时经常会遇到“再按一次退出app”的功能,避免只按一下返回就退出app提升体验优化。...关闭侧边菜单 = 150 关闭模版modal = 200 关闭上拉菜单action sheet = 300 关闭对话框popup = 400 关闭加载框loading = 500 注意:返回...如果我们不想注册返回按钮影响所有页面,就要将返回函数再调用。 例如:如果一个上拉菜单已经显示,后退按钮应该关闭上拉菜单,而不是返回一个页面视图或关闭一个打开的模型。...function ($rootScope, $ionicPlatform, $location, $ionicHistory) { "use strict"; // 当用户在主页面, 按返回时...,给予提示,如果在2s内再次出发返回,就退出app function showTipMsg() { window.plugins.toast.showShortCenter("在按一次退出app

    1.8K20

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

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

    2K10

    quick-cocos2d-x android返回监听并实现原生退出对话框

    这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回监听,还是挺好弄的,所以就有了这篇。...self.touchLayer:setKeypadEnabled(true) self:addChild(self.touchLayer) end end 比較好理解,创建一个层,为该层加入�一个事件监听...,这个事件监听的类型是keypad,假设key的值是back那么就运行里面的代码了,假设不须要显示android原生的对话框,仅仅要关闭程序,仅仅须要运行上面代码中凝视的部分就能够了。...2.2.3之后的版本号在加入�事件监听上与之前有所不同,这里须要注意下。 当然做软件嘛,好歹有个温馨提示,防止用户无意点到退出游戏就不友好了,所以这里调用了一下android原生对话框来显示。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118682.html原文链接:https://javaforall.cn

    54010

    Web 游戏监听浏览器返回点击事件 !

    比如游戏内有 a、b、c 三个场景,其中 a 场景是启动页面,a 场景进入 b 场景,b 场景进入 c 场景,从 c 场景中点返回,回到 b 场景,从 b 场景中点击返回,回到 a 场景, 从 a 场景中点击返回...() 方法,所以只需要在需要监听事件的场景 window.addEventListener('popstate', e => { //添加点击返回处理逻辑 }, false )...; 事件的消费和添加 仅仅监听事件,还是不够的,虽然写了监听逻辑,但是浏览器本身的返回事件还是触发的,这时候点击返回,还是会继续回到之前页面,所以需要添加一个新的状态,让浏览器不跳转到前一个页面...事件的全局控制 使用 cocos creator 开发游戏,注册 popstate 监听事件后,在浏览器点击返回时,会在每个注册的位置触发,实际游戏场景中,只需要执行一次就够。...= null){ func(); } } private static _events:any[] = []; } 类似上面这种,在需要监听返回事件的场景脚本组件内

    1.9K10
    领券