微信小程序内嵌H5

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

注意:web

  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一个字段判断该字段是小程序环境。cookie

2.小程序分享异步

小程序文档:post

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

可是在真机实践中据小程序开发反馈,部分场景下没法拿到url 因此咱们最后经过postMessage方法传递分享信息,示例以下:、url

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

3.同步cookie。spa

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

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>

完。

相关文章
相关标签/搜索