微信小程序內嵌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>

完。

相關文章
相關標籤/搜索