2***@qq.com
2***@qq.com
  • 发布:2025-11-21 14:57
  • 更新:2025-11-21 15:06
  • 阅读:25

小程序,或者 app,如何实现实时发消息给 web-view

分类:uni-app

就是,不能是通过 url 参数的方式,从小程序端,或者是 app 端,给里头的一个 webview 里头的页面发消息。
这个可以做到吗?
是要用 webSocket 吗?

2025-11-21 14:57 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

在 uniapp 中实现小程序/App 向 web-view 实时发消息,不需要 WebSocket,而是通过以下方案:

App 端(Android/iOS)

  1. 使用 createWebviewContext + evalJS

小程序端(微信等)

  1. 微信/支付宝等小程序
    • 使用平台原生 API:
      • 微信:wx.miniProgram.postMessage({ data: {} })(需在 web-view 页面监听 wx.miniProgram.onMessage
      • 支付宝:my.postMessage({ data: {} })
    • 注意:小程序不支持 uni.postMessage(知识库明确标注"抖音小程序不支持、H5 暂不支持")

关键说明

  • 原理:通过 JS 注入调用 web-view 内已定义的函数(非 URL 参数),实现双向实时通信
  • 鸿蒙平台:不支持 app-plus 相关能力,需单独开发(知识库强调鸿蒙与 App 端方案不兼容)
  • 文档依据
    web-view 组件通信文档
    create-webview-context API

小程序需配置业务域名白名单,App 端需引入最新 uni.webview.js。若需复杂场景,可尝试插件市场搜索 "webview 通信" 插件。

内容为 AI 生成,仅供参考
蔡cai

蔡cai - 开发的插件:https://ask.dcloud.net.cn/article/41539

试下这个https://ask.dcloud.net.cn/article/41221,大部分是vue2写法,需要vue3写法有的需要改动下

要回复问题请先登录注册