小程序与webview通信传参

简介: 小程序与webview通信传参

在小程序中,只要每次修改代码或者增加新的内容都是需要发版才行,常常用到与一些活动页面,这个时候小程序提供的webview就可以解决这个问题,通过调用H5页面,传参完成一些常用的功能。以后每次更改的时候,只需要修改H5页面就行。

  • 小程序webview组件对嵌入的H5页面有要求、必须在小程序管理后台配置为合法的业务域名。

H5端

  • H5页面需要引用微信提供的官方sdk
<script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
  • 通过绑定一个点击事件去触发一个方法给小程序通信,data就是我们需要传的参数给小程序
wx.miniProgram.postMessage({
          data: {
            value,
            name,
            phone,
            address,
          },
        })

小程序端

  • 页面中添加webview组件、并添加监听事件
<web-view src="{{src}}" bindmessage='receivePostMsg'></web-view>  
  • js里面添加监听事件,e里面可以看到传递的参数,根据收到的信息进行相应操作
receivePostMsg(e) {
    console.log(e)
  },

通信之间的坑

  • 网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。所以想收到消息的时候,就要做下上面的操作才可以。比如发消息之后,在执行个页面回退等。
  • 所以这个小程序只能在特定的时机去触发,需要调用一个微信发方法wx.miniProgram.navigateBack()返回上一级页面,然后就可以打印东西
if (name || phone || address || value) {
        wx.miniProgram.postMessage({
          data: {
            value,
            name,
            phone,
            address,
          },
        })
        wx.miniProgram.navigateBack()
      }
  • 这样就可以解决传参的问题。
目录
相关文章
|
5月前
|
设计模式 小程序 API
小程序之页面通信&派发通知
小程序之页面通信&派发通知
|
5月前
|
存储 缓存 小程序
小程序页面路由传参的方法?
小程序页面路由传参的方法?
|
3月前
|
小程序 API 数据库
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
66 0
|
1月前
|
小程序 Android开发 iOS开发
ISO钉钉小程序小程序webview打开nextjs应用异常
ISO钉钉小程序小程序webview打开nextjs应用异常
38 3
|
3月前
|
小程序 数据库 C++
【微信小程序-原生开发】实用教程16 - 查看详情(含页面跳转的传参方法--简单传参 vs 复杂传参)
【微信小程序-原生开发】实用教程16 - 查看详情(含页面跳转的传参方法--简单传参 vs 复杂传参)
38 0
|
5月前
|
Web App开发 数据采集 移动开发
开发uniapp过程中对app、微信小程序与h5的webview调试
开发uniapp过程中对app、微信小程序与h5的webview调试
839 1
|
5月前
|
监控 小程序 前端开发
小程序全栈开发中的WebSocket实时通信实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中WebSocket实时通信的实践,WebSocket作为实现双向实时通信的协议,其长连接特性和双向通信能力在实时聊天、推送、游戏和监控等场景中发挥关键作用。开发者需注意安全性、性能和兼容性问题,以优化用户体验并确保小程序稳定运行。通过掌握WebSocket,开发者能提升小程序的功能性和用户体验。
127 0
|
5月前
|
存储 小程序
小程序路由传参的方法?
小程序路由传参的方法?
93 0
|
5月前
|
小程序
小程序页面路由传参的方法?
小程序页面路由传参的方法?
59 0
|
5月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 父子组件之间的通信(三十八)
【微信小程序】-- 自定义组件 - 父子组件之间的通信(三十八)
下一篇
无影云桌面