微信小程序嵌入 H5 页面(webview)基本用法和父子传参数说明
创始人
2024-11-20 09:10:44

背景:

最近实现一个功能需要在小程序嵌入其它系统内部的一个页面(用vue写的H5页面),但小程序是无法使用iframe的,所以最终选择小程序官方的webview实现,本文对基本用法和父子传参进行说明。所以下面将说明:

  1. 小程序官网配置业务域名
  2. 标签的用法。
  3. 父子传参数。
  4. H5 跳转回小程序。

一、 小程序官网配置业务域名

小程序官方要求配置,如果不配置在趁机上会无法打开,但在微信开发者工具正常
步骤: 在微信小程序后台,开发->开发管理->开发设置->业务域名 这里添加需要嵌入到小程序里面 H5 页面的合法域名(最多200个);

二、标签的用法

web-view 承载网页的容器。会自动铺满整个小程序页面,不能像iframe那样能设置某个区域

直接使用标签即可   

在这里插入图片描述

三、父子传参数

父传子(本地系统传到被嵌入的H5页面):

  //这是小程序页面  {webUrl}}"/> 
//这是H5页面 created() {      // H5获取token const wxobj = {}      window.location.href.replace(/([^?&=]+)=([^&]+)/g, (_, k, v) => (wxobj[k] = v))      if ( wxobj.token) {          store.commit( 'user/setToken', wxobj.token)      }  } 

小程序用url拼接过去,H5页面通过window.location.href.replace获取到内容

子传父(H5传给小程序):

注意: 在H5系统(被嵌入) 需要安装官方的weixin-js-sdk包,步骤如下:

(1)安装:

pnpm add weixin-js-sdk 

(2)使用的页面引入:

import wx from "weixin-js-sdk"; 

(3)使用传参给父:

wx.miniProgram.postMessage({      data: { token }  }); 

本地系统接收(小程序)

{webUrl}}" bindmessage="getMessage"/> 
//接收网页数据  getMessage: function (res) {     let token = res.detail.data;     this.setData({ token });   }, 

四、 H5 跳转回小程序。

需要用到上面引入的weixin-js-sdk包

const name = '天天' wx.miniProgram.navigateTo({   url: `/pages/my/my?name=${name}` , // 小程序地址   success () {     console.log('question success')   },   fail (error) {     console.log(error)   } }) 

父系统能拿到?后面的传参数

onLoad(option) {      this.name = JSON.parse(option.name);  }, 

更多weixin-js-sdk包的API可以去官网查:点击跳去
在这里插入图片描述

相关内容

热门资讯

第五届琶洲算法大赛开启全球报名... 中新社广州5月6日电 (记者 许青青)由广州市政府主办的第五届琶洲算法大赛6日正式启动报名并上线了首...
软件性能测试包含哪些测试内容? 性能测试报告 性能测试是对软件产品在特定条件下的性能进行测试和评估的过程。性能测试的内容可以包括以下...
胜硅来新材料取得金属硅粉用除铁... 国家知识产权局信息显示,河南胜硅来新材料科技有限公司取得一项名为“一种金属硅粉用除铁生产系统”的专利...
工业和信息化部批复开展卫星物联... 工业和信息化部日前正式批复开展卫星物联网业务商用试验,试验期为两年。 据了解,本次获批开展卫星物联网...
月球新矿物“铈嫦娥石”是怎么被... 本文转自【央视新闻客户端】; 近日,我国宣布发现三种月球新矿物:铈嫦娥石、镁嫦娥石、铈镁嫦娥石。其中...