详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
开发微信小程序时,
web-view和h5混合开发,在h5页面使用uni.navigateTo跳转后导航返回的页面为最初页面
比如 web-view问题A->B-C, 在C页面点导航的返回键会触发多次webview页面的onShow并且回到了最初的页面。
重现步骤
[步骤]
参考视频
https://v.youku.com/v_show/id_XNDYzNTc4NDkyNA==.html (密码 123456)
- 新建一个页面,里面使用组件web-view,页面接收参数url (假设webview页面地址为 pages/webview/index)
- 加载url
- 在加载的h5项目里面使用uni.navigateTo({ url: '/pages/webview/index?url=xxx' })
- 页面多跳几级,模拟出 A->B-C-D等
- 点导航的返回键即可复现
[结果]
回到了第一次访问的webview页面
[期望]
按顺序依次返回
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX 2.6.8.20200330
[IDE版本号]
[windows版本号]
[mac版本号]
macOS High Sierra
版本 10.13.5
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
微信小程序和h5混合开发
[运行端版本号]
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]
App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
uni-app端的代码 页面地址 /pages/webview/index
<template>
<view class="xx">
<web-view :src="weburl"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
count: 0,
weburl: ''
}
},
onShow() {
this.weburl += '&t=' + new Date().getTime();
console.log('this is onShow = ' + this.weburl)
},
onLoad(options) {
console.log(options);
let page_url = decodeURIComponent(options.url);
this.weburl = page_url;
console.log('weburl', this.weburl)
}
}
</script>
h5端的代码
A->B-C-D 都类似如下调用
uni.navigateTo({
url: '/pages/webview/index?url=' + url
})
联系方式
[QQ]
75039764
0 个回复