千家信息网

web网页与小程序间如何进行通信

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"web网页与小程序间如何进行通信"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们的
千家信息网最后更新 2026年11月01日web网页与小程序间如何进行通信

本篇内容介绍了"web网页与小程序间如何进行通信"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们的微信小程序采用的web-view的方式内嵌H5项目,从而减少开发量,在实际只用中会遇到网页与小程序通信的功能需要,下面我简单总结了我遇到的问题以及解决方案。

小程序提供的功能

微信提供了网页向小程序发送消息的方法:wx.miniProgram.postMessage,该方法向小程序发送消息,会在特定时机(小程序后退、组件销毁、分享)触发组件的message事件。

简单介绍一下如果使用,以分享为例,如果页面A需要特别设置分享内容,比如转发标题、缩略图等。可以再网页中设置好变量值,通过发送给小程序

网页

let shareData = {  path: '转发路径',  title: '自定义转发标题',  imageUrl: '缩略图url',};wx.miniProgram.postMessage({ data: JSON.stringify(shareData) });

小程序

index.wxml

通过bindmessage绑定接收事件

index.js

// 获取从网页发送来的消息getMessage(e) {  const getMessage (e) {  // data是多次postMessage的参数组成的数组  const { data } = e.detail;  // 需要取最后一条数据  let shareMessage = data[data.length - 1];  this.shareMessage = JSON.parse(shareMessage);};// 设置分享onShareAppMessage(options) {  return {    title: this.shareMessage.title,    path:  this.shareMessage.path,    imageUrl: this.shareMessage.imageUrl,  };}

这样一次定制化分享功能就完成了,但是postMessage方法只有特定场景可以获取消息,所以如果非特定场景怎么获取通信呢?

一种简单的获取通信的方法

我提供的解决方案可能不是最优的也不是最通用的,但是如果遇到了问题时可以作为一个备选方案。

1、场景还原

我们的小程序中有城市定位,第一次进入小程序需要选择所在城市,选择城市之后会缓存到本地,之后再次进入小程序不再需要重选选择城市。功能如下截图

选择城市之后会在首页右上角展示

由于城市选择页面和首页都是通过web-view内嵌小程序的方式,所以显然在H5页面中进入缓存,在小程序中是无法获取到缓存信息的。

2、解决方案

解决方案很简单,我跟后端的同伴沟通后,拜托他提供给我一个接口,把城市id和用户信息关联起来,这样我就可以再用户进行小程序的时候获取用户上次选择的城市id,进而再小程序里面缓存处理,这样用户再次进入小程序的时候无需再次选择城市

网页

// 保存城市信息const saveCityHandle = () => {  saveCity({    cityId: cityId,    userId: userId,  }).then(() => {});};

小程序

获取城市id之后通过wx.setStorageSync缓存下来,以便后续使用。

wx.login({  success(res) {    if (res.code) {      wx.request({        url: `${that.domain()}/getUserInfo`,        data: {          body: { jsCode: res.code },        },        success(res) {          wx.setStorageSync('cityId', res.data.cityId);        },      });    } else {      console.log('登录失败!' + res.errMsg);    }  },});

总结

"温故而知新,可以为师矣。"

有时候回过头来看看某些知识点,也许就会有新的思路,与君共勉。ヾ(◍°∇°◍)ノ゙

一首小诗

看了一眼日期,发现12月,2021年最后一个月了,我之前写过了一首小诗,有点符合我现在的心境,也有一些祝福送给自己也送给大家。

眼前是一扇窗,窗外是变换的景色,夜晚,墨绿的树,散落灯光的高楼大厦,疾驰的汽车,或匆忙或悠闲的行人。我好像记住了每一座楼宇,却不记得每一张面孔,不变的建筑,变换的路人。今年,有一些变化,每一颗追求人生的心,都值得期待,每一个不舍的眼神,笑容也无法遮掩。致,所有开发的伙伴,一期一祈,勿怀犹也,幸福美好。

"web网页与小程序间如何进行通信"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

程序 城市 网页 选择 通信 方案 缓存 功能 方法 消息 用户 解决方案 信息 内容 再次 场景 知识 页面 事件 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 互联网科技工作委员会毛军 美国互联网科技巨头监管 北京互联网络科技有限公司 易通互联网络科技有限公司 亿账通互联网科技 时间互联网络科技 菲比寻常互联网科技 互联网科技公司做什么 广州优美互联网科技 福州新华互联网科技学校 知乎 赶超互联网科技 微信多开 翼展科技 首家互联网医院 科技大学互联网 黑云互联网科技有限公司 上海万顺科技互联网有限公司招聘 银川新华互联网科技学校原画 马化腾互联网科技教学 北京品多多互联网科技有限公司 上海互联网科技园景观 中国 科技 互联网 互联网科技公司怎么样 凡科互联网科技 左右互联网络科技 宜昌元轩互联网科技有限公司 迪庆互联网科技招生 上海京穆互联网科技有限公司 从那以后互联网科技有限公司 互联网的科技体现在哪里 恒生科技指数 中概互联网
0