
由于返回图标是微信小程序自带的,因此我们无法通过 web 页面的路由离开钩子(如:vue中beforeRouterLeave钩子函数)来控制页面是否关闭,因此想要在离开页面时在 web 页面进行逻辑控制是有难度的。
使用浏览器的 popstate 事件来禁昌樱唯止页面跳转。
小程序开发中遇到的问题:小程序中嵌套敬闭了一个webview页面,webview页面中有静默授权(A1页面静默授权后重定向到A2页面),点小程序原生的返回按钮会返回到A1页面,然后页面就会反复静默授权
解决方案:通过 history.pushState 添加历史记录名目, history.onpopstate 监听历史记录条目发生变化时,调用小程序 APIwx.navigateBack
刚开始想的解决办法是用localStorage,跳转到A2时存储一个值,返回到A1时获取这个值,如果有值就清除这个值并且回退到小程序页面。听起来似乎也可行,但小程序的缓存和微信袭慎的缓存是同步的,如果在微信环境中直接访问A1页面,重定向到A2会存值,如果直接关闭页面,不会被清除,那么在小程序中访问时就直接回退了。
文章转自微信社区
解决小程亮禅裂序中webview页面多层history返回问题
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)