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

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

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

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

    iOS-JavaScript交互方案:网页监听APP返回(goback)+APP监听网页返回(JS调用OC对象方法)

    1.网页监听APP返回(原生goback) 假设需求:当APP点击原生导航栏左上角返回时,APP并不返回上级VC,而是UIWebView返回上级页面。...1.1首先 新建CMWebViewController,其继承UIViewController,即: CMWebViewController.h中有: @interface CMWebViewController...webView canGoBack]) { [_webView goBack]; return NO; } return YES; } 2.网页监听APP返回...(OC调用JS) 假设需求:APP隐藏原生导航栏,相当于网页全屏了,当在APP中点击网页端的左上角返回时,APP退出UIWebView并返回上级VC页面。...[self.navigationController popViewControllerAnimated:YES]; }); } 2.2 H5/JS端 H5关键部分:布局元素ID

    4.1K30
    领券