【问题记录】-----解决微信浏览器上拉加载的情况下返回不到原来位置的问题
【问题记录】-----解决微信浏览器上拉加载的情况下返回不到原来位置的问题
先直接上解决方案(1 && 2)
1、不要在$(document).ready下检测返回前的页数和重新加载数据,在文档最下方或者body的onload事件下检测并加载
2、重新加载的数据使用同步
下面解析一波
先解析第1点:
如上图,弹出的顺序会是123,456,789;
再来说说微信浏览器对“返回”的处理,直接就是暴力的重新加载刚才的页面,然后帮你滚动回刚才的位置;不像正常浏览器帮你保存快照;
而微信这个返回的滚动处理是在这个顺序位置的:
弹出123–》弹出456–》微信滚动–》弹出789
所以如果在$(document).ready下检测是否翻页、是否返回判断是否重新加载刚才数据的话,此时微信已经滚动完了,而你在$(document).ready下的检测、加载数据还没来,微信自然就滚不回刚才的位置
下面解释第2点:
知道了浏览器对返回的处理之后第2点就明了了,异步的话就阻止不了微信的滚动了
总的来说,就是要阻止微信的滚动处理,并在此之前把数据加载肥来