我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序与webview H5交互怎么实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序与webview H5交互怎么实现

这篇文章主要介绍“微信小程序与webview H5交互怎么实现”,在日常操作中,相信很多人在微信小程序与webview H5交互怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序与webview H5交互怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

web-view功能描述

承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。

客户端 6.7.2 版本开始,navigationStyle: custom 对 web-view 组件无效

微信小程序与webview H5交互怎么实现

web-view 内嵌 H5 给原生小程序传参

方式一、使用postMessage

在web-view组件上有一个属性“bindmessage”,官方是这么介绍的:

网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组

在 web-view 组件上绑定 “message”事件

在 H5 中 触发 message 事件即可在小程序中接收 H5传递的数据

例子:

小程序 /pages/test/test.wxml :

<web-view class="lazy" data-src="" bindmessage="receiveMessage"></web-view>

小程序 /pages/test/test.js :

receiveMessage(e){console.log(e.detail)//接收H5传过来的数据}

H5:

<script type="text/javascript" class="lazy" data-src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><script>wx.miniProgram.postMessage({ data: {foo: 'bar'} })</script>

利用postMessage可以实现小程序与H5之间通讯,但只在小程序后退、组件销毁、分享时触发,所以在一些情况可能不满足开发需求

方式二、利用页面跳转带参

接口名说明最低版本
wx.miniProgram.navigateTo参数与小程序接口一致1.6.4
wx.miniProgram.navigateBack参数与小程序接口一致1.6.4
wx.miniProgram.switchTab参数与小程序接口一致1.6.5
wx.miniProgram.reLaunch参数与小程序接口一致1.6.5
wx.miniProgram.redirectTo参数与小程序接口一致1.6.5
wx.miniProgram.postMessage向小程序发送消息,会在特定时机(小程序后退、组件销毁、分享)触发组件的 message 事件1.7.1
wx.miniProgram.getEnv获取当前环境1.7.1

例如现在有一个场景: H5为一个列表页面,点击列表子项时跳转到原生小程序的详情页

H5:

<script type="text/javascript" class="lazy" data-src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><script>function handleClick(e){let id = e.target.dataset.idlet url = `/pages/detail/detail?id=${id}`;wx.miniProgram.navigateTo({      url,    });}</script>

小程序 /pages/detail/detail.js:

onLoad: function (options) {console.log(options.id)//接收H5传过来的数据}

原生小程序 给 web-view内嵌H5 传参

原生小程序 给 web-view内嵌H5 传参就很简单了,原生小程序直接通过修改 web-view 的class="lazy" data-src属性就行了

'xxx.com?arg=123'

h6页面获取url上的参数,这种方式会使页面重新加载,如果不想引起页面加载可以通过修改hash

'xxx.com#123'

H5页面监听hash值变化:

window.onhashchange=function(){    alert('hash值改变')    console.log(window.location.hash)//获取当前hash值}

到此,关于“微信小程序与webview H5交互怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微信小程序与webview H5交互怎么实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序与webview H5交互怎么实现

这篇文章主要介绍“微信小程序与webview H5交互怎么实现”,在日常操作中,相信很多人在微信小程序与webview H5交互怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序与webview
2023-07-04

微信小程序webView怎么嵌入H5

本篇内容介绍了“微信小程序webView怎么嵌入H5”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法如下1.直接引入页面地址;
2023-06-08

微信小程序与Html如何实现交互

这篇文章主要介绍了微信小程序与Html如何实现交互,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序与Html交互实现方法微信小程序访问html页面是通过小程序中的We
2023-06-26

小程序怎么与后端Java接口交互实现HelloWorld

本篇内容主要讲解“小程序怎么与后端Java接口交互实现HelloWorld”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序怎么与后端Java接口交互实现HelloWorld”吧!第一步:后端
2023-06-08

微信小程序tabBar怎么实现

这篇文章主要介绍“微信小程序tabBar怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序tabBar怎么实现”文章能帮助大家解决问题。tabBar先创建几个页面,要注意文件夹和页面名
2023-06-26

小程序与后端Java接口交互实现HelloWorld

本篇内容介绍了“小程序与后端Java接口交互实现HelloWorld”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录第一步:后端简单建个S
2023-06-20

微信小程序怎么实现录音

今天小编给大家分享一下微信小程序怎么实现录音的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。为录音录音中wxml: