鸿蒙上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

5 回复

参考这个 https://ask.dcloud.net.cn/question/145821
如果你认为是 bug,请提供复现工程。

更多关于鸿蒙上uni-app webview的@message接收不到消息的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你们自己不能写吗 就是任何一个消息都收不到 就是一个简单的发消息的demo,我不可能把代码在拆出来再写一遍呀

或者这样,你给我一个成功的demo,我按你们那个重写一下试试,现在就是按官方文档那个弄的,就接收不到

回复 1***@qq.com: 看评论区 https://ask.dcloud.net.cn/question/145821 HBuilderX 里有基础示例

在鸿蒙系统上,uni-app的webview组件@message事件接收不到消息,通常与鸿蒙系统的安全策略和uni-app的桥接机制有关。以下是关键排查点:

  1. 确认消息发送格式:确保网页内使用uni.postMessage()发送消息,且数据为JSON对象(非字符串)。示例:

    uni.postMessage({ data: '消息内容' });
    
  2. 检查webview配置:在鸿蒙NEXT上,需验证webview组件的src是否使用网络地址(如https)。本地路径可能因安全限制阻断通信。

  3. 验证事件监听:在vue3中,确保使用[@message](/user/message)而非onMessage(兼容性问题)。示例:

    <webview :src="url" [@message](/user/message)="handleMessage"></webview>
回到顶部