小程序与H5如何互相跳转

由于小程序官方没有提供外部H5网页直接跳转到小程序的api,所以目前只支持小程序内嵌H5,并且只有内嵌的H5才能跳回小程序

小程序跳转H5

需要用到小程序的web-view,官方文档链接

web-view是承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。写法如下:

<view class="page-body">
    <web-view src="https://xxx.com/test.html"></web-view>
</view>

注:当在微信开发中工具里返回“{"base_resp":{"ret":-1}}”时,需要点左上角“设置”--“项目设置”--勾选“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”

 
13079544-41b249ebf91b0600.png
无标题.png

H5跳转小程序

因为外部h5无法跳转到小程序,因此需要把h5内嵌到小程序的web-view中。
一:首页小程序内嵌h5网页,内嵌这一步就相当于上面的小程序跳转h5:

<view class="page-body">
    <web-view src="https://xxx.com/test.html"></web-view>
</view>

二:然后在内嵌的网页里引入js,调用wx.miniProgram.navigateTo跳转小程序方法,可在url后拼接要传的参数:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>h5跳转小程序</title>
    </head>
    <body>
        <h3 align="center">正在跳转到小程序...</h3>
        <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
        <script>
                wx.miniProgram.navigateTo({url: '/index/index?phone=18012121212'})
        </script>
    </body>
</html>

三:小程序接受参数的页面:
index.wxml:

<view class="page-body">
{{phone}}
</view>

index.js

Page({
  data: {
    phone:''
  },

  onLoad: function (options) {
    var that = this;
    /*获取参数*/
    var phone = options.phone
    that.setData({
      phone: phone,
    })
  }
})

这样就从h5跳到小程序指定的页面并且可以拿到我们想要传的参数

 
13079544-61102bf2440e12bb.png
 

关于web-view相关的接口:

 
13079544-aab5de0fce313479.png
 

官方js调用方法示例:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
// javascript
wx.miniProgram.navigateTo({url: '/path/to/page'})
wx.miniProgram.postMessage({data: 'foo'})
wx.miniProgram.postMessage({data: {foo: 'bar'}})
wx.miniProgram.getEnv(function (res) { console.log(res.miniprogram) })

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe
95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。
欢迎留言交流

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值