uniapp 嵌套 h5项目(webView实现)亲测有效

场景:主项目为uniapp实现的app项目 通过分包 子项目是 h5 + vue实现

uniapp端

<template>
<!-- 注:使用动态url -->
	 <view>
		<web-view :src="url"></web-view>
	<view>
</template>
<script>
	export default {
		data() {
			return {
				url: ''
			}
		},
		onLoad() {
            // 默认一个你的html(h5地址)
			this.url = '../xxx.html'
		},
			
		mounted(){
            // 需要监听 message 之后触发方法
			window.addEventListener("message", this.handlePostMessage);
		},
		methods: {
            // 触发方法
			handlePostMessage(data) {
				console.log(data)
				console.log(data.data.data.arg.data)
				if (data.data.data.arg.data == 'h5页面传的值') {
					// 给url重新赋值
					this.url = ""
				} else if (data.data.data.arg.data == '判断返回uniapp页面') {
                    // 其他的跳转查看uniapp官网
					uni.switchTab({
						url: '/pages/xxx/index'
					});
				}

			},
		}
	}
</script>

html 页面

<!-- 首先根据引入离线的 webview 或者在线的 我用的是离线的 之后改的方法名 防止和uniapp冲突 -->
<script src="../../js/uni.webview.js" type="text/javascript" charset="utf-8"></script>
methods:{
 fangFa(){
   // webUni 是在离线的webView中改的 文件自己去下载
    webUni.postMessage({
				data: {
					data: 'goList', //传过去用于判断的值
					type: 'message' // type 默认就写message 就写 也可以不写
				}
			});
    }
}

之后接收到值 通过判断就可以实现了

console.log(data.data.data.arg.data) 图片

webView.js 离线修改版

链接: https://pan.baidu.com/s/1ZOJ7ZN1ujj0qFppz7hIeiw  提取码: qf9k

uniapp 官网

web-view | uni-app官网

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

new Vue()

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值