背景:
uniapp的webview打开了本地页面,当本地页面的链接再次指向外链时,点击跳转外链后,再点击手机返回按钮,无法回到本地页面,而是提示‘再按一次退出APP’。
分析:
正常情况打开外链,webview不会新建,而是继续使用当前打开的webview打开外链,这样导致打开外链页面后点击返回就直接退出了。
解决:
5+App中,当webview打开外部链接时,只是在当前窗口内进行url的转换,所以窗口依旧是之前的窗口。uni.back()会判定,如果是入口窗口,则会操作两次后关闭app。
所以,建议新建uni的page,在新的page里再打开一个webview加载外链:
uni.navigateTo({
url: '/pages/new-webview/new-webview?newUrl=' + evtData.newUrl
});
这样返回就是关闭新的page,返回至上一级的page了。