当前位置:首页 » 《休闲阅读》 » 正文

uniapp嵌套webview,无法返回上一级?

1 人参与  2024年04月27日 14:17  分类 : 《休闲阅读》  评论

点击全文阅读


uniapp嵌套webview,如何解决回退问题?

文章目录

uniapp嵌套webview,如何解决回退问题?遇到问题解决方式方式一方式二

场景:

进入首页,自动跳转第三方应用

遇到问题

在设备上运行时,无法回退上一级,直接退出应用了;预期:一级级的返回页面;

解决方式

个人想到临时解决方式,欢迎老铁们可以分享其他方式

进入首页index,不要先加载 web-view新建页面,例webview.vue
方式一

例:安卓

index.vue

onLoad() {  uni.navigateTo({    url: '/pages/webview/webview'  })}

webview.vue

<template><view><web-view src="https://xxx"></web-view></view></template>

onUnload() {  // #ifdef APP-PLUS  // ios退出应用方式,下面有写  plus.runtime.quit(); // 强制退出应用.Android    // #endif},
方式二

个人 推荐方式一,简单一些

通过标识是否已加载webview页面,定义全局变量或本地存储标识都可以在 onShow 判断是否已加载 webview 页面,已加载 ,则执行退出应用,否则跳转页面

App.vue

globalData: {  webShowed: false, // 标识},

index.vue

const app = getApp()onShow() { this.handleLaunchJump();}

handleLaunchJump() {  let sysInfo = uni.getSystemInfoSync();  // 这里我处理Android、 Ios,跳转及退出方式,根据个人所需  if (!app.globalData.webShowed) {    if (sysInfo.platform === 'ios') {      uni.redirectTo({        url: this.url // '/pages/webview/webview'      })    } else {      uni.navigateTo({        url: this.url      })    }  } else {    // #ifdef APP-PLUS    if (sysInfo.platform === 'ios') {      plus.ios.import('UIApplication').sharedApplication().performSelector('exit');    } else {      plus.runtime.quit();    }    // #endif  }}

webview.vue

<template><view><web-view src="https://xxx"></web-view></view></template>
onShow() {  getApp().globalData.webShowed = true;},

点击全文阅读


本文链接:http://zhangshiyu.com/post/101101.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1