uniapp 小程序 嵌套 webview 返回需要点击两次

uniapp 小程序 嵌套 webview 返回需要点击两次

  1. 先 上图
  2. 小程序也监听不到 返回事件
  3. 在网上找了一圈 都没有理想的答案,猜测 是因为嵌入的页面中有问题
  4. 果然

小程序中嵌入的代码

javascript 复制代码
	<view>
		<web-view :src="urlSrc" ></web-view>
	</view>


	export default {
		data() {
			return {
			   urlSrc: "",
			}
	    },
	    onLoad(options) {
	        // 这里是要嵌入的页面路径
			this.urlSrc = getApp().globalData.webViewUrl + "/#/viewsEdit?key=" + options.id+"&token="+options.token
		},
   }

嵌入项目 app.vue

因为我需要在该项目中先登录,再跳转到 /viewsEdit 页面 所以需要再app.vue中做默认登陆操作,然后再跳转到 /viewsEdit

javascript 复制代码
<template>
  <div id="app">
    <RouterView />
  </div>
</template>

<script>
export default {
  created() {
    // 有发送就有接收,与postMessage配套使用的就是message事件
    let that = this
    window.onload = function () {
      let datas = that.getUrlParams(window.location.href)
       localStorage.setItem('token', datas.token)
        // 登录成功后路由跳回
        // 重点
        // 重点
        // 重点
        // 此处一定要使用  replace  替换掉 路由栈中的记录
        // 不然 路由栈中会存在  ['/','/viewsEdit'] 两个记录  所以需要点两次才能退出
        // 使用 replace 后 路由栈中就剩了 ['/viewsEdit'] 
        
        // this.$router.push({
        //  path: '/viewsEdit',
        //  query: {
        //   key: datas.key,
        // }
        // })
        this.$router.replace({
          path: '/viewsEdit',
          query: {
            key: datas.key,
          }
        })
    }
  },
  methods: {
    getUrlParams(url) {
      const params = {}
      const reg = /([^?&=]+)=([^&]*)/g
      url.replace(reg, (match, key, value) => {
        params[decodeURIComponent(key)] = decodeURIComponent(value)
      })
      return params
    }
  }

}
</script>
  1. 搞定 , 日常记录!
相关推荐
说私域22 分钟前
O2O电商变现:线上线下相互导流——基于定制开发开源AI智能名片S2B2C商城小程序的研究
人工智能·小程序·开源·零售
说私域3 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序源码的去中心化商业扩散研究
人工智能·小程序·开源·去中心化·零售
繁依Fanyi4 小时前
用 UniApp 构建习惯打卡 App —— HabitLoop 开发记
javascript·uni-app·codebuddy首席试玩官
三天不学习4 小时前
Uniapp 与 Uniapp X 对比:新手上手指南及迁移到 Uniapp X 的注意事项
uni-app·uniapp x
不爱吃饭爱吃菜6 小时前
uniapp微信小程序一键授权登录
前端·javascript·vue.js·微信小程序·uni-app
明耀6 小时前
WPF C# 用WebView加载H5页面(uniapp项目,vue项目)
uni-app·c#·wpf
mon_star°13 小时前
微信答题小程序支持latex公式显示解决方案
微信·小程序
timeguys16 小时前
【前端】[vue3] [uni-app]使用 vantUI 框架
前端·uni-app
Aiden Targaryen18 小时前
Windows/MacOS WebStorm/IDEA 中开发 Uni-App 配置
java·uni-app·webstorm
想要飞翔的pig19 小时前
uniapp+vue3页面滚动加载数据
前端·vue.js·uni-app