当使用navigateTo跳转时需要注意的点:
跳转到的页面推荐不要加入获取微信的jssdk操作,容易失败,尤其像是获取定位wx.getLocation,这个差异体现在安卓和苹果上微信通过wx.config读取对应当前页面的链接上。
安卓在使用navigateTo跳转后页面实际上是经过刷新的,获取到的页面在history路由模式下是当前的页面链接,而苹果在history模式下拿到的链接没看出来是什么,反正我使用location.href.split('#')[0]拿到链接的情况不尽人意,和安卓上一样,但就是会出现签名校验失败,然后需要刷新当前页面以后,苹果微信浏览器才能正常签名成功。
这个目前导致的原因可以看出是微信浏览器获取当前页面链接时在苹果和安卓上表现不同引起的。
有人大帝是说这和苹果进页面的机制有关,navigateTo跳转时,苹果的页面还保留在列表页的链接,导致wx.config比对失败。
当把navigateTo跳转改为window.open(url,'_self')跳转,并使用uni.navigateBack做返回时需要注意:
苹果可以正常的从跳转后页面返回跳转前页面,这时候页面缓存是会有的,但是安卓在使用这种跳转时实际上会进行页面刷新,导致uni.navigateBack返回时页面缓存失效,导致回到跳转前页面时是无法保留对应对应的类似筛选项的值的