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;
},

相关推荐

  1. uniapp嵌套webview无法返回一级

    2024-01-21 07:18:06       56 阅读
  2. uniapp小程序使用webview 嵌套 vue 项目

    2024-01-21 07:18:06       27 阅读
  3. 前端UNIAPPwebview嵌入H5使用说明文档

    2024-01-21 07:18:06       37 阅读
  4. uniapp返回一页并刷新数据

    2024-01-21 07:18:06       55 阅读
  5. uniapp先显示提示消息再返回一页

    2024-01-21 07:18:06       36 阅读
  6. 优雅实现uniapp返回一页传参

    2024-01-21 07:18:06       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-21 07:18:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-21 07:18:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-21 07:18:06       87 阅读
  4. Python语言-面向对象

    2024-01-21 07:18:06       96 阅读

热门阅读

  1. MySQL存储过程和触发器

    2024-01-21 07:18:06       68 阅读
  2. pyspark之Structured Streaming file文件案例1

    2024-01-21 07:18:06       54 阅读
  3. oracleFUNCTION,PROCEDURE和PACKAGE区别

    2024-01-21 07:18:06       51 阅读
  4. K8S-容器运行时(v1.27)

    2024-01-21 07:18:06       86 阅读
  5. Ubuntu源码升级升级openssh

    2024-01-21 07:18:06       66 阅读
  6. ubuntu双屏扩展

    2024-01-21 07:18:06       44 阅读