解决思路:先把webviewUrl设为空,销毁当前webview,然后再把webviewUrl设为当前值
场景:点击web-view跳转到其他页面回退时进行webview初始化重新加载
解决思路:1.在小程序回退时先把webview设置为空销毁,定时器500ms后设置新的url再进行回退操作(有个问题:回退新的webview底部会有遮挡
)
2.在小程序回退时先把webview设置为空销毁,定义个新字段赋值新url,然后回退,返回上一页后再进行webviewUrl赋值(这个推荐,目前没发现其他问题
)
举例:
a.js:
onLoad(options) { this.handleUrl(options.codePath || '')}, onShow() { if (this.newUrl) { this.handleUrl(this.newUrl || '') } }, handleUrl(codePath) { codePath = decodeURIComponent(codePath || '') this.setData({ url: `${path}` }) }
b.js:
goBack() { let url = app.globalData.enterWebviewUrl if (url) { let pages = getCurrentPages(); const prevPage = pages[pages.length - 2]; // 重置清空web-view prevPage.options.codePath = `` prevPage.onLoad(prevPage.options) prevPage.newUrl = url setTimeout(() => { wx.navigateBack({ delta: 1 }) }, 100) }}