uni-app x,webview页面与应用互相通讯
wk_55zmalo1zz4q/2024-12-13 17:12:55

webview官网文档:点击跳转

通过createWebviewContext或getElementById获取webview组件的上下文对象。


<template>
	<web-view id="web-view" :src="srcUrl"></web-view>
</template>
<script setup>
	const srcUrl = ref<string>('')
	
	onLoad((options:OnLoadOptions)=>{
		if(options['src']!=null){
			srcUrl.value = options['src']!
		}
	})
	onReady(()=>{
		const wv = uni.getElementById('web-view') as UniWebViewElement | null

	})
</script>


使用evalJS(),API执行js


wv?.evalJS(`alert('say hello')`)


webvie页面向应用发消息

首先页面引入uni提供的uni.webview.1.5.5.js


<script src="/js/uni.webview.1.5.5.js"></script>


发消息postMessage,其他API请看官方文档


uni.webView.getEnv((res) => {
    uni.postMessage({
        data: {type:'oone',info:{...}}
    })
});


应用端监听消息


<template>
	<web-view id="web-view" :src="srcUrl" @message="getMsg"></web-view>
</template>
<script setup>
    const getMsg = (msg:UniWebViewMessageEvent)=>{
		console.log(msg.detail);
	}
</script>


以上就是uni-app x,webvie页面与应用互相通讯的一种方法。

如若内容造成侵权/违法违规/事实不符,请联系站主邮箱:1694434055@qq.com进行投诉反馈,一经查实,立即删除!

相关推荐