问题背景
引用小程序web-view组件返回出现问题。
问题表现
采用小程序web-view组件跳转到外部网站时,需要点击两次返回才能返回到小程序。
解决方法
方法一:在目标网站内引入script标签。
代码如下:
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.0.js"></script>
<script>
window.onunload = function () {
wx.miniProgram.navigateBack({})
}
</script>
因为我引入的是第三方网站,所以没有办法测试这种方法。
方法二:避免网站的二次跳转(亲测有效)
起初遇到这个问题时,我怀疑是第一次点了返回是返回到了有web-view的那张空白页,其实不然。实际情况是在访问web-view标签的src目标网站时发生了二次跳转。
考虑原因应该是src指向了电脑版网页,而当小程序访问时自动跳转到了移动端。
例如我的先前的src内容是:'http://www.******.org.cn/'
用手机浏览器访问的实际网址是:'http://www.******.org.cn/hyyj/m/index.htm'
也就是说,第一次点击返回实际是返回到src的内容网址,故需要两次返回才能彻底返回到小程序。
前后代码如下:
<!-- <web-view src='http://www.******.org.cn/'></web-view> -->
<web-view src='http://www.******.org.cn/hyyj/m/index.htm'></web-view>
大家如果有类似问题,不妨试一下。