小程序webView初始化销毁页面
解决思路:先把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) } }
(图片来源网络,侵删)
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...