uni.navigateTo({url:'/pages/'});
history.pushState(null,null,document.URL)
history.pushState(null,null,document.URL)
然后点内置浏览器的后退按钮,可以在页面的onLoad里打印一下

- 发布:2021-12-14 11:58
- 更新:2021-12-16 09:39
- 阅读:1434
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10.0.19044
HBuilderX类型: 正式
HBuilderX版本号: 3.2.12
浏览器平台: Chrome
浏览器版本: 用的hbuildX的内置浏览器
项目创建方式: HBuilderX
操作步骤:
预期结果:
后退不触发onLoad
后退不触发onLoad
实际结果:
后退触发了onLoad
后退触发了onLoad
bug描述:
通过uni.navigateTo跳转页面以后,执行两次或以上history.pushState(null,null,document.URL),在控制台执行就行,这时候后退页面触发了onLoad,这是怎么回事呢?后退不都是不会触发onLoad的吗?
2***@qq.com (作者)
是用的uni.navigateBack()后退,我从a页面uni.navigateBack()到b页面,直接退回去没有走到onLoad里,到b页面后执行两次或以上history.pushState(null,null,document.URL)后退就会出发onLoad,问题不在于uni.navigateBack()和uni.navigateTo的使用,而是history.pushState(null,null,document.URL)之后不知道对uni的route产生了什么影响,导致用uni.navigateBack()后退走到了onLoad里去
2021-12-16 15:46
DCloud_UNI_HT
回复 2***@qq.com: 建议提供一个测试工程 ,然后详细描述一下测试流程,我来复现一下这个问题 ,看看是不是bug
2021-12-20 10:22