1

应公司需求 ~~ H5页面适配小程序

注意:

  1. 小程序不支持cookie,内嵌的h5支持cookie但与微信网页cookie共存且互相影响。
  2. 小程序仅支持https
  3. 小程序内嵌H5的域名必须在微信后台设置为信任的域名
  4. 使用1.4版本的微信sdk,1.0部分功能不支持 : https://res.wx.qq.com/open/js/jweixin-1.4.0.js

1.判断小程序环境

image.png

微信老版本要看小程序是否支持,如果支持H5需要

wx.miniProgram.getEnv(function(res) {
     if (res.miniprogram) {
         //这里才是小程序环境
         //但是这个方法是异步的请注意
     }

或者让小程序的开发再打开H5页面时候通过url传给H5一个字段判断该字段是小程序环境。

2.小程序分享

小程序文档:

用户分享时可获取当前web-view的URL,即在onShareAppMessage回调中返回webViewUrl参数。

但是在真机实践中据小程序开发反馈,部分场景下无法拿到url 所以我们最后通过postMessage方法传递分享信息,示例如下:、

wx.miniProgram.postMessage({ data:{
      active_shareTit:分享语言,
      active_shareimg:分享图
      active_shareurl: 分享链接
}})

3.同步cookie。

小程序通过url把所需要的参数带过来,H5拦截后设置到cookie里。

4.H5跳小程序

不能使用Href跳转!url为“/page/..”形式,不能带http协议,一定要使用如下三种方式
  1. navigateTo 跳转到小程序页面,保留当前页面
  2. redirectTo 关闭当前页面并跳转到小程序页面(返回时回不到当前页了)
  3. switchTab 跳转到小程序tabbar页面(小程序带底部导航的页面,该页面若使用navigateTo或redirectTo会失败!)

demo:

wx.miniProgram.navigateTo({
    url: '/pages/prod/prod?参数1=大大说&参数2=qweqw'
})

5.小程序跳H5
src内可以给H5传递参数

  <web-view src="https://mp.weixin.qq.com/qq.html"></web-view>

完。


小抚顺儿
234 声望3 粉丝

啦啦阿拉啦 前端菜鸟 一枚。。。