uniapp微信小程序 webview h5 postMessage

小程序嵌入了h5页面,点击h5页面按钮通过postMessage发送消息,小程序@message 方法处理。

小程序webview页面

<template>
	<view>
		<web-view src="https://xxxx" @message="handleMessage"></web-view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: 'Hello1'
			}
		},
		onLoad(){
			
		},
		methods: {
			handleMessage(event) {
				uni.openLocation({
					latitude: event.detail.data[0].latitude,
					longitude: event.detail.data[0].longitude,
					success: function () {
						console.log('success');
					}
				});
			},
			handleButtonClick(data) {
				console.log('Button clicked with data:', data);
				// 在这里执行你需要的逻辑
			}
		}
	}
</script>

<style>
	
</style>

H5页面添加代码

static/index.html

<script type="text/javascript" src="<%= BASE_URL %>static/jweixin-1.3.2.js"></script>

h5触发事件页面添加代码

async openMapApp({
        name,
        latitude,
        longitude
      }) {
        jWeixin.miniProgram.postMessage({
          data: { latitude, longitude }
        });
		jWeixin.miniProgram.redirectTo({
			url: '/pages/index/index1?params=pages/student/exam/index'
		});
},

注意一定要加上 redirectTonavigateBackswitchTabreLaunch。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值