鸿蒙上uni-app webview的@message接收不到消息
鸿蒙上uni-app webview的@message接收不到消息
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC系统版本 | macOS 15.5 (24F74) |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.76 |
| 手机系统 | HarmonyOS NEXT |
| 手机系统版本 | HarmonyOS 5.1.0 |
| 手机厂商 | 华为 |
| 手机机型 | ALT-AL10 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
- 加载网页,然后js发送消息,webview在@message监听消息
预期结果:
- 能收到发送的消息
实际结果:
- 接收不到
bug描述:
- 鸿蒙上webview加载腾讯验证码,成功后发消息,现在webview的@message接收不到消息
更多关于鸿蒙上uni-app webview的@message接收不到消息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
参考这个 https://ask.dcloud.net.cn/question/145821
如果你认为是 bug,请提供复现工程。
更多关于鸿蒙上uni-app webview的@message接收不到消息的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
你们自己不能写吗 就是任何一个消息都收不到 就是一个简单的发消息的demo,我不可能把代码在拆出来再写一遍呀
回复 1***@qq.com: 看评论区 https://ask.dcloud.net.cn/question/145821 HBuilderX 里有基础示例
在鸿蒙系统上,uni-app的webview组件@message事件接收不到消息,通常与鸿蒙系统的安全策略和uni-app的桥接机制有关。以下是关键排查点:
-
确认消息发送格式:确保网页内使用
uni.postMessage()发送消息,且数据为JSON对象(非字符串)。示例:uni.postMessage({ data: '消息内容' }); -
检查webview配置:在鸿蒙NEXT上,需验证
webview组件的src是否使用网络地址(如https)。本地路径可能因安全限制阻断通信。 -
验证事件监听:在vue3中,确保使用
[@message](/user/message)而非onMessage(兼容性问题)。示例:<webview :src="url" [@message](/user/message)="handleMessage"></webview>


