首页 > 其他分享 >webview和h5通信

webview和h5通信

时间:2023-12-15 18:35:55浏览次数:35  
标签:postMessage 通信 h5 miniProgram 版本 bindmessage webview wx

有个需求是web-view嵌入h5页面,这时需要知道h5的路有变化,以下是一个简单的实现

1.vue页面使用

wx.miniProgram.postMessage发送消息
  beforeRouteLeave(to,from,next){
    wx.miniProgram.postMessage({
      data: {
        cardId: 0,
        title: '电子名片'
      }
    })
    next()
  },

2.小程序

<web-view src="{{src}}" bindmessage="handlePostMessage"></web-view> //src为自己的h5地址
 handlePostMessage: function (event) {
    console.log('Message received from H5:', event);
    // 在这里处理接收到的消息
    // 例如可以根据接收到的消息做相应的处理
  },

基本上就可以实现了,但是注意有个大坑就是发现接收不到消息,原因:

  1. wx.miniProgram.postMessage的调用时机:请确保在H5的路由变化后才调用wx.miniProgram.postMessage,因为如果在路由变化前调用,可能会因为页面还未完全加载就发送了消息,导致消息没有被正确接收。
  2. 检查你的代码是否有错误或异常:有时候,一些代码错误或异常可能会阻止bindmessage事件的触发。你可以检查你的控制台是否有任何错误或异常,然后尝试修复它们。

  3. 确保你的小程序版本支持bindmessage事件:bindmessage事件需要微信6.7.2及以上版本,以及小程序基础库2.6.5及以上版本。

  4. 确保你的<web-view>组件的URL是在小程序后台设置的合法业务域名:wx.miniProgram.postMessage只能向在小程序后台设置的合法业务域名发送消息。
    我是版本问题,升高版本就解决了

标签:postMessage,通信,h5,miniProgram,版本,bindmessage,webview,wx
From: https://www.cnblogs.com/lijun12138/p/17903994.html

相关文章

  • 进程间通信:共享内存区
    一、共享内存区所谓共享内存区,即程序通过固定大小的物理存储链接到本地内存中,这种IPC形式是最快的。管道、FIFO和消息队列的问题在于,两个进程要交换信息时,这些信息必须由内核传递。共享内存区示意图:共享内存区的限制:二、Posix共享内存区基于Posix共享内存区的生产者--消......
  • 计算机网络中的通信子网主要有哪些功能?
    计算机网络中的通信子网主要具有以下功能:负责全网的数据通信:通信子网通过使用各种通信协议和传输控制功能,能够确保数据从一台主机安全、准确地传输到另一台主机。这包括数据的封装、解封装、传输控制、差错控制等过程。完成各种网络数据的处理、转换和交换:通信子网能够对各种网络......
  • 打赏源码|视频打赏源码h5附搭建教程
     在互联网时代,视频成为了人们获取信息和娱乐的主要方式之一。而随着内容创作者的崛起,视频平台也逐渐成为了他们展示才华和创作成果的舞台。然而,仅仅创作优质的内容并不足以维持创作者的持续创作热情和生活稳定。因此,视频打赏源码的出现,为内容创作者提供了一个重要的价值变现途径......
  • android webview加载assets目录中的html
     加载目录:Stringurl="file:///android_asset/web/index.html";webView.loadUrl(url);完整代码:packagecom.example.h5application;importandroidx.appcompat.app.AppCompatActivity;importandroid.app.AlertDialog;importandroid.app.ProgressDialog;......
  • 一、网络通信基本概念
    一、网络通信的基本概念通信:是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递与交流。网络通信,是指终端设备之间通过计算机网络进行的通信。•数据载荷:可以理解为最终想要传递的信息,但实际上,在具有层次化结构的通信过程中,上一层协议传递给下一层协议的数......
  • H5开发App应用程序的常见问题以及解决方案
    Hello大家好,我是咕噜铁蛋,天冷记得添衣,ok话说回来H5开发成为了一种流行的方式来构建跨平台的移动应用程序。然而,在H5开发App应用程序的过程中,我们常常会遇到一些问题,这些问题可能涉及性能、兼容性、用户体验等方面。作为致力于帮大家解决问题的老铁,铁蛋今天为大家分享一些常见问题以......
  • NRF52832---串口通信
    我在做一个蓝牙demo,蓝牙主控用的nrf52832。在添加DFU功能后,使用“nRFConnect”app连接上demo后,点击“notify”,蓝牙就会断开连接,log打印如下图 没有提示出错的行号。我是用的蓝牙传输方式是透传。我查遍了关于nrf52832内存不足的帖子,都没有解决。我去问了技术售后(我买的开发......
  • react-native中嵌套的WebView发版后未更新问题
    问题使用了react-native-webview的WebView嵌套h5页面,但是当h5发版之后,重新打开app,h5还是发版前的页面。并且这个缓存严重,每次都要清理缓存或者重装app,页面不能及时更新,影响用户体验。解决rn项目中,在h5链接后边拼接时间戳,代码如下:注意:这里缓存使用的是@react-native-async-sto......
  • iframe父子页面通信相互调用传递参数多个postMessage
    效果如何运行父页面代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 进程间通信-信号-pipe-fifo
    进程间通信-信号-pipe-fifo编译fifo文件夹的程序运行fifo文件夹的程序代码说明1.consumer.c文件包含一个用来从FIFO(命名管道)读取数据的C程序。以下是它的主要组件和系统调用的分解:main()函数:初始化文件描述符(pipe_fd)、返回状态(res)、读取数据的缓冲区以及字节数计......