小程序与H5网页的交互

web-view

web-view
基础库 1.6.4 开始支持,低版本需做兼容处理。

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

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

src		        webview 指向网页的链接。可打开关联的公众号的文章,其它网页需登录小程序管理后台配置业务域名。	
bindmessage		网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次postMessage 的参数组成的数组	
bindload		网页加载成功时候触发此事件。e.detail = { src }	
binderror		网页加载失败的时候触发此事件。e.detail = { src }	

跳转网页并携带参数

<!-- wxml -->
<!-- 指向微信公众平台首页的web-view -->
<web-view src="https://mp.weixin.qq.com?id=123"></web-view>

网页跳转小程序并传递参数

网页像小程序传值的 有两种方式可以实现,一种是通过url和小程序的转发方法,将需要传给小程序的值当做参数放在当前url上,小程序中通过点击转发即可获取。这种方法缺点是只能在点击转发时才可传

onShareAppMessage: function (options) {
    let webViewUrl = options.webViewUrl;//web-view当前的网址
}

另外一种是通过使用微信sdk的postMessage方法,然后小程序web-viewd中的bindmessage方法会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data }

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

<!-- wxml -->
<web-view src="http://a.html?id=123" bindmessage="postMessage"></web-view>
 
postMessage(e) {
    console.log(e)      // 接收参数
},

在网页里判断当前是否是微信环境

window.wx.ready(function () {
    isWxMini = window.__wxjs_environment === 'miniprogram'
})
// 若是微信环境跳到小程序支付,否则原生支付
if (isWxMini) {   
    let jumpUrl = encodeURIComponent(window.location)
    let path = `/page/pay/pay?amount=${amount}&title=${desc}&jumpUrl=${jumpUrl}`
    window.wx.miniProgram.navigateTo({
        url: path
    })
 }
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
小程序H5实时交互是指小程序H5页面之间能够实现数据通信和交互的功能。小程序是一种在App内嵌的轻量级应用,而H5页面是在浏览器中运行的网页。他们之间的实时交互可以为用户提供更加强大和丰富的功能和用户体验。 小程序H5实时交互的实现方式主要有两种:跳转和通信。 首先,跳转是指小程序内的某个功能或页面需要调用H5页面来完成,或者H5页面中的某个功能需要跳转到小程序来实现。这主要通过使用小程序提供的跳转接口和自定义链接来实现。通过在小程序中调用打开H5页面的接口,传递相应的参数,即可将用户带到指定的H5页面。同样地,在H5页面中通过使用小程序提供的自定义链接,用户点击后即可跳转到指定小程序的对应页面。 其次,通信是指小程序H5页面之间能够实现数据的传递和交互。这主要通过使用小程序提供的Webview组件和JavaScript Bridge技术来实现。小程序内的Webview组件可以加载H5页面,通过JavaScript Bridge可以实现小程序H5页面之间的相互调用和数据传递。通过在小程序中调用JavaScript Bridge提供的API,可以将小程序内的数据传递给H5页面,在H5页面中可以获取到相关数据进行处理,然后再将处理结果返回给小程序。 综上所述,小程序H5实时交互能够为用户提供更加强大和丰富的功能和用户体验,通过跳转和通信的方式可以实现小程序H5页面之间的数据传递和交互。这为开发者提供了更多的选择和灵活性,能够根据具体需求选择合适的方式来实现小程序H5页面的实时交互
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曲曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值