1. 出现场景
在微信小程序中,可以使用webview
嵌套web
页面,有些时候在web
页面填写了表单没有提交,当用户点击左上角小程序的返回时,希望可以弹框提示用户还有未保存内容,是否确定返回,根据用户选择之后在确定是否返回。
2. 遇到困难
由于返回图标是微信小程序自带的,因此我们无法通过web
页面的路由离开钩子(如:vue中beforeRouterLeave钩子函数)来控制页面是否关闭,因此想要在离开页面时在web
页面进行逻辑控制是有难度的。
3. 解决办法
使用浏览器的popstate
事件来禁止页面跳转。
history.pushState(null, null, document.URL)
4. 项目实战
......
您的信息还未提交认证,
确定返回吗?