微信小程序嵌入H5页面(webview)的基本用法和父子传参数详细说明

 更新时间:2024年08月22日 10:56:14   作者:天天鸭  
微信小程序中嵌入H5页面通常指的是在小程序中使用Web-view组件来加载外部的网页,下面这篇文章主要给大家介绍了关于微信小程序嵌入H5页面(webview)的基本用法和父子传参数的相关资料,需要的朋友可以参考下

背景:

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

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

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

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

二、标签的用法

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

直接使用标签即可
 <web-view src="xxxxxxxxxx"></web-view>

三、父子传参数

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

  //这是小程序页面
 <web-view src="{{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 } 
});

本地系统接收(小程序)

<web-view src="{{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可以去官网查:点击跳去

总结 

到此这篇关于微信小程序嵌入H5页面(webview)的基本用法和父子传参数详细说明的文章就介绍到这了,更多相关微信小程序嵌入H5页面webview内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于微信小程序实现人脸数量检测的开发步骤

    基于微信小程序实现人脸数量检测的开发步骤

    最近项目需求是统计当前摄像头中的人脸个数,所以下面这篇文章主要给大家介绍了关于基于微信小程序实现人脸数量检测的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • javascript Canvas动态粒子连线

    javascript Canvas动态粒子连线

    这篇文章主要为大家详细介绍了javascript Canvas动态粒子连线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • JavaScript this关键字的深入详解

    JavaScript this关键字的深入详解

    这篇文章主要给大家介绍了关于JavaScript this关键字的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 如何在postman中添加cookie信息步骤解析

    如何在postman中添加cookie信息步骤解析

    这篇文章主要介绍了如何在postman中添加cookie信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • bootstrap table配置参数例子

    bootstrap table配置参数例子

    这篇文章主要为大家详细介绍了bootstrapTable的参数设置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • js循环改变div颜色具体方法

    js循环改变div颜色具体方法

    本篇文章主要介绍了js循环改变div颜色具体方法,需要的朋友可以参考一下
    2013-06-06
  • javascript实现checkBox的全选,反选与赋值

    javascript实现checkBox的全选,反选与赋值

    这篇文章主要介绍了javascript实现checkBox的全选,反选与赋值的方法,以实例形式详细分析了实现的思路及对应的html与js代码的实现过程
    2015-03-03
  • javascript之Partial Application学习

    javascript之Partial Application学习

    在数学中,一个函数是描述每个输入值对应唯一输出值的这种对应关系,符号为 f(x)。例如,表达式 f(x)=x2表示了一个函数 f,其中每个输入值x都与唯一输出值x2相联系
    2013-01-01
  • ts中的void和never类型及区别

    ts中的void和never类型及区别

    void类型和never类型都是ts新增的类型,这两者的共同点是都常见用于声明函数的返回值的类型,这里我们把它们两放在一起介绍有助于大家区分,这篇文章主要介绍了ts中的void和never类型及区别,需要的朋友可以参考下
    2023-05-05
  • JavaScript实现全选与反选功能

    JavaScript实现全选与反选功能

    这篇文章主要为大家详细介绍了如何分别使用Vue和JavaScript实现全选与反选功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04

最新评论