问题模块 | 框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
API和组件 | 小程序 | Bug | <web-view> | 客户端 | 6.7.3.1360 | 2.4.0 |
// packageUser/pages/message/message.js
aaa:function(){
// tempCode 只能使用一次,是通过我们自己一个接口生成的一个code 这个url 使用过一次就无效了
let url = wx.getExtConfigSync().host + '/app/weixin/message/weixinMessageDetailMp.html?tempCode=' + tempCode + '#wechat_redirect';
wx.navigateTo({
url: '/pages/webview/webview?url=' + encodeURIComponent(url),
})
}
<!--pages/webview/webview.wxml-->
<web-view src="{{url}}"></web-view>
// pages/webview/webview.js
Page({
data: {
url: ""
},
onLoad: function(options) {
this.setData({
url: decodeURIComponent(options.url)
})
}
})
复现路径
第一遍
当前: packageUser/pages/message/message this.aaa();页面跳转到 pages/webview/webview,获取页面栈长度为2
当前: pages/webview/webview 点击左上角回退正常
第二遍:
当前: packageUser/pages/message/message this.aaa();页面跳转到 pages/webview/webview
当前: pages/webview/webview this.data.url在开发工具上看是获取到了最新的,但是web-view 里面的内容加载的是上一次使用过的url,这个url已经无效了,网页提示这个url已经无效了,获取页面栈长度为2
点击左上角回退没有回到上一页,反而是web-view加载 this.data.url 这个地址里的内容,获取页面栈长度为2
再次点击左上角回退没有回到上一页,web-view 又加载了this.data.url 这个地址里的内容,这个时候这个url地址已经失效,网页提示这个url已经无效了,获取页面栈长度为2
然后就是反复的 “再次点击左上角回退没有回到上一页,web-view 又加载了this.data.url 这个地址里的内容,这个时候这个url地址已经失效,网页提示这个url已经无效了,获取页面栈长度为2”
就是回退不了了
开发者工具 调试基础库2.3.0 有一段时间特别频繁,安卓手机也是