uni-app 与webView 互相传值

uni-app 向webView 传值

在uni-app 传值有多种实现方式,主要推荐evalJS ,次要webSorcket
重点:

1.webView 要找到正确的children!如果页面中只有一个webView标签则直接可以 currentWebview.children()0

2.H5页面中的监听 function 必须写在全局,不要写在任何load事件中!

javascript 复制代码
  // index.vue 
let currentWebview = this.$scope.$getAppWebview()
let children = currentWebview.children()
// 这里循环获取想要传递消息的webView
let webView = children.filter((item) => item.id.indexOf('webviewId') > -1)[0]
webView.evalJS(`myCustomEvent('来自app的消息')`)
javascript 复制代码
// webView
 // html页面监听
 		function myCustomEvent(res) {
			uni.postMessage({
				data: {
					data: res,
					type: 'myCustomEvent',
				},
			})
		}
H5 向uni-app 传值

首先需要下载官方的web-view.js

javascript 复制代码
// H5页面
	window.uni.postMessage({
			data: {
				data: 'success',
				type: 'onLoad',
			},
		})
javascript 复制代码
//webView 页面
	<web-view ref="webviewRef" class="map_con" v-if="isMap" :webview-styles="webviewStyles" :fullscreen="true" :src="webViewUrl" @message="handleMessage"></web-view>
export default{
methods:{
handleMessage(e){
 console.log('来自H5的消息',e)
}
 }
}
相关推荐
夏碧笔13 小时前
uni-app跨端地图实战:用第三方LBS替代微信平台收费服务
uni-app
用户6990304848755 天前
try catch使用场景 处理同步代码错误兼容用的
javascript·uni-app
ITKEY_5 天前
uniapp微信开发者工具 更改AppID失败 touristappid
uni-app
Geek_Vison6 天前
APP瘦身实战:从80MB+砍到15MB——基于小程序容器技术剥离APP非核心业务的实践分享
小程序·uni-app·mpaas
CHB6 天前
HDC2026 演讲实录|AI 驱动的跨端进化:利用 uni-agent 快速构建高性能鸿蒙应用
uni-app·harmonyos
2501_915918416 天前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
斯内普吖7 天前
(开源)高校素拓分管理系统小程序实战指南 基于 Java + SpringBoot + uni-app + Vue + MySQL
java·spring boot·mysql·小程序·uni-app·开源
海阔天空66887 天前
uniapp开启调试模式
uni-app·uniapp开启调试模式
anyup7 天前
分享 5 套 uni-app 实用主题,一键适配暗黑模式
前端·uni-app·视觉设计
gg159357284607 天前
Uni-app跨平台开发全解课程:从零基础到企业级多端落地实战
vue.js·uni-app