页面跳转从a->b->b1->c,然后从c返回到b再到a。(监听popstate)

IOS版的微信,是会立即触法popstate事件,导致直接从C页面跳转到A页面

解决办法:::

var bool = false;

window.addEventListener('pageshow',function(){

bool = false;

setTimeout(function(){

bool = true;

},1000)//延迟1秒 防止ios微信返回立即执行popstate事件

pushHistory();

})

window.addEventListener(

"popstate",

function(e) {

if (bool) {

location.href ='页面b的地址';

}

pushHistory();

},

false

);

function pushHistory() {

var state = {

title: "title",

url: window.location.pathname + window.location.search

};

window.history.pushState(state, state.title, state.url);

}

原理:

因为在IOS微信浏览器里,返回上一个页面时,必定会触法popstate事件,就会导致立即执行返回到a页面。通过pageshow事件先延迟1秒的事件,让执行popstate事件时无法返回,等定时器把isRun的值改成true,然后再点击返回按钮,就会再次执行popstate事件,就可以返回到你想要的页面。

popstate android4.3,IOS微信浏览器返回事件popstate监听 会立即执行一次相关推荐

  1. IOS微信浏览器返回事件popstate监听

    问题描述: 通过监听popstate事件,来判断是否点击返回按钮,比如从A页面跳转到B页面(监听popstate),然后再跳转到C页面,点击返回的按钮,测试成功,包括安卓版,但是问题来了,IOS版的微 ...

  2. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  3. IOS微信浏览器返回事件监听问题

    业务需求:从主页进入A订单页面,然后经过各种刷新或点标签加载后点左上角的返回直接返回到主页 采取方法:采用onpopstate事件监听url改变,从而跳转到主页 遇到的问题:安卓上测试没问题:苹果手机 ...

  4. iOS小技能:监听H5页面goBack返回事件 网页监听APP返回键 (NavigationBackItemInjection)

    文章目录 引言 I . iOS监听H5页面goBack返回事件 1.1 UIWebView 监听H5页面goBack返回事件 1.2 WKWebView监听H5页面goBack返回事件 II. 网页监 ...

  5. html5 history微信浏览器返回不刷新

    History API与浏览器历史堆栈管理: 移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构.传统的单页应用基于url的hash值进行路由,这种实现 ...

  6. popstate 事件, 浏览器返回事件

    popstate :浏览器返回事件 当活动历史记录条目更改时,将触发popstate事件.如果被激活的历史记录条目是通过对history.pushState()的调用创建的,或者受到对history. ...

  7. html5 浏览器退回事件,html5的pushstate以及监听浏览器返回事件的实现

    这篇文章主要介绍了html5的pushstate以及监听浏览器返回事件的实现,主要介绍了pushstate的使用,以及监听浏览器的解决等问题,感兴趣的可以一起来了解一下 pushstate与监听浏览器 ...

  8. vue在微信里面的兼容问题_Vue在 iOS 微信浏览器下不能播放

    问题的本质 以上定位到问题大概花了我半小时时间,但是我并没有找到问题的根本原因,于是我翻阅了 Vue.js 2.5 的 release log,由于很长就不列了.Vue.js 每次升级主要分成 2 大 ...

  9. 苹果下微信浏览器返回上一页不刷新问题解决方案

    苹果下微信浏览器返回上一页不刷新问题解决方案 参考文章: (1)苹果下微信浏览器返回上一页不刷新问题解决方案 (2)https://www.cnblogs.com/liuxiaojie/p/78325 ...

最新文章

  1. Java写十进制和二进制互转
  2. mysql 命令行导入sql脚本
  3. MVC 顶层设计-ModelAndView
  4. 特斯拉上海超级工厂汽车年产量已达到45万辆
  5. Kubernetes 学习总结(23)—— 2022 年 Kubernetes 的 5 个趋势
  6. java beetl 视频_04.Beetl常用内置函数以及安全输出---《Beetl视频课程》
  7. 记百人计划--测试思路
  8. Oracle定时器执行多线程
  9. 系统板I/O端口地址分配(一)
  10. python的运行方式有哪两种_Python基础:Python运行的两种基本方式
  11. 日志时间与系统时间不一致问题解决方法
  12. error: ‘VPX_IMG_FMT_RGB32’ undeclared (first use in this function); did you mean ‘VPX_IMG_FMT_NV12’?
  13. 截止11月5日,30日内累计跌幅最大的200只股票
  14. [机缘参悟-74]:沟通技巧-无论在职场还是在家,尽量少用反问句
  15. 【转】Android兼容性测试的一些坑
  16. Using the GNU Compiler Collection 目录翻译
  17. 修复iPhone8白屏的3种方法,可保留设备数据
  18. 金三银四跳槽季,java面试突击(100题)进大厂就这么简单
  19. SAP小技巧之 标签打印
  20. 横向打印二叉树 java_按树状横向打印二叉树

热门文章

  1. mutations, payload
  2. 【GitHub】Failed to connect to github.com port 443 的一种解决方案
  3. 如何使用 SHA256 校验下载的文件
  4. php 修改头像案例,在laravel5.2中实现点击用户头像更改头像的方法
  5. MRO管理(Maintenance、Repair and Operations,维护、维修和运营)
  6. QT软件开发之基础控件--2.4.1 lineEdit单行文本编辑器
  7. 基于PCA与LDA的数据降维实践
  8. 微信html5尺寸,【h5网站网页】H5设计原稿的切图是什么尺寸的,是微信公众号版的?主流HTML5移动网络开发框架?...
  9. 在线重做MySQL主从
  10. Linux Wine 微信输入中文乱码,黑块,和多余窗口问题解决