【问题记录】-----解决微信浏览器上拉加载的情况下返回不到原来位置的问题

【问题记录】-----解决微信浏览器上拉加载的情况下返回不到原来位置的问题


先直接上解决方案(1 && 2)
1、不要在$(document).ready下检测返回前的页数和重新加载数据,在文档最下方或者body的onload事件下检测并加载
2、重新加载的数据使用同步

下面解析一波

先解析第1点:
【问题记录】-----解决微信浏览器上拉加载的情况下返回不到原来位置的问题
如上图,弹出的顺序会是123,456,789;
再来说说微信浏览器对“返回”的处理,直接就是暴力的重新加载刚才的页面,然后帮你滚动回刚才的位置;不像正常浏览器帮你保存快照;
而微信这个返回的滚动处理是在这个顺序位置的:
弹出123–》弹出456–》微信滚动–》弹出789
所以如果在$(document).ready下检测是否翻页、是否返回判断是否重新加载刚才数据的话,此时微信已经滚动完了,而你在$(document).ready下的检测、加载数据还没来,微信自然就滚不回刚才的位置

下面解释第2点:
知道了浏览器对返回的处理之后第2点就明了了,异步的话就阻止不了微信的滚动了

总的来说,就是要阻止微信的滚动处理,并在此之前把数据加载肥来