微信浏览器点击系统返回,安卓返回重新加载页面返回页面顶部,iOS返回保留之前的浏览位置解决方法部分机型兼容弹窗,所以会返回到返回时页面顶部,补充解决方案:出现弹窗时,设置高度为100%,让文档滚动到上一个滚动位置,弹窗关闭时取消高度限制,恢复了身体滚动。最近在手机端分享微信页面的时候,遇到这样一个现象:点击A页面中间的链接跳转到B页面后,按系统返回操作返回A页面在Android中,开始刷新重新加载的展示页面顶部,iOS直接返回上次浏览位置,保存用户操作记录;针对以上问题,我在网上搜索了相关的解决方案。解决这个问题花了我一天时间(傻哭(╥╯^╰╥)),下面把我的方法贴出来,希望能给之前和我一样走弯路的童鞋们一些帮助,主要是单页跳转。使用了sessionStorage和history的replaceState方法。具体代码如下:html部分:如何高效学习js部分:$('a[data-h5="1"]').on('click',function(){//点击链接记录当前页面的滚动位置sessionStorage.setItem('scrollTop',$('.body').scrollTop());});//判断当前页面是返回还是直接跳转,读取sessionStorage缓存显示页面if(sessionStorage.getItem('scrollTop')!=null&&sessionStorage.getItem('loadType')=='back'){//避免加载延迟处理setTimeout(function(){//执行缓存信息$('.body').scrollTop(sessionStorage.getItem('scrollTop'));//清除上次缓存sessionStorage.removeItem('scrollTop');},200);}//设置缓存页面加载源信息,load:直接跳转,back:浏览器返回sessionStorage.setItem('loadType','load');//设置浏览器历史监听页面返回replaceHistory(窗口。位置。href);//监听浏览器返回事件,设置返回页面缓存状态window.addEventListener("popstate",function(e){//在sessionStorage中设置页面返回参数标记sessionStorage.setItem('loadType','back');},false);functionreplaceHistory(url){varstate={title:"title",url:url};window.history.replaceState(state,"title",url);}至此,微信浏览器按返回无法保存上一个界面的浏览位置信息的问题就解决了。如果有更好的解决方案,欢迎大家一起交流讨论~~一个小问题要花那么多时间解决,真的很头疼。自己的能力,还真是差了一大截。.训练。...