国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小程序嵌套H5

這篇具有很好參考價值的文章主要介紹了小程序嵌套H5。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在微信小程序中內(nèi)嵌H5頁面是一種常見的需求,因為H5頁面具有靈活性和跨平臺性,可以彌補小程序原生代碼的不足。

微信小程序自帶的 web-view 組件相當(dāng)于 HTML頁面中的 iframe ,方便我們在微信小程序中打開一個 H5 頁面;從微信小程序基礎(chǔ)庫1.6.4開始,我們就可以在小程序內(nèi)放置一個<web-view>組件來鏈接我們的HTML頁面了。

web-view使用前提:業(yè)務(wù)域名

由于個人類型的小程序暫不支持使用。只有非個人類型小程序可以配置業(yè)務(wù)域名

1、掃碼登錄微信公眾平臺;

2、開發(fā)管理 —— 開發(fā)設(shè)置 —— 業(yè)務(wù)域名 進行添加、修改;

小程序嵌套H5,小程序

小程序嵌套H5,小程序

3、配置完業(yè)務(wù)域名后,還需要下載校驗文件(步驟2中第四張圖的紅色框部分),并將校驗文件放置在域名根目錄下(讓后端去操作)。這一步相當(dāng)于是讓對方授權(quán)你能打開他的網(wǎng)頁,比如要在你的小程序中打開百度,就需要百度去把這個校驗文件放到他的域名根目錄下得到他的授權(quán);

4、設(shè)置業(yè)務(wù)域名時,報檢查校驗怎見石板,可以參考業(yè)務(wù)域名設(shè)置--校驗文件檢查失敗自查指引 微信開放社區(qū)進行自查。

web-view鏈接打不開問題
  • 打不開某個外部網(wǎng)頁鏈接:

  • 檢查是否配置了小程序的業(yè)務(wù)域名,注意外部網(wǎng)頁內(nèi)再次 iframe 內(nèi)嵌的其他域名也需要配置

    • 檢查是否為 https 協(xié)議,不支持http協(xié)議,不支持 IP 地址

    • 打不開公眾號文章:檢查小程序是否已關(guān)聯(lián)該公眾號

  • 外部網(wǎng)頁鏈接、公眾號文章鏈接在開發(fā)工具、體驗版上可以打開,正式版上不行:

    • 檢查開發(fā)工具上是否開啟了 “ 不校驗合法域名、web-view業(yè)務(wù)域名、TLS版本以及HTTPS證書 ” 選項,開發(fā)工具上開啟這個選項,不用配置業(yè)務(wù)域名或關(guān)聯(lián)小程序也能打開鏈接,在開發(fā)工具上將該選項關(guān)掉,也就打不開了,該選項位置如下圖;體驗版上能打開是因為打開了 “ 開發(fā)調(diào)試 ”,關(guān)閉開發(fā)調(diào)試后,同樣也是打不開。

小程序嵌套H5,小程序

web-view的基本使用

官方web-view組件使用:web-view | 微信開放文檔

每個頁面只能有一個 web-view組件,并且 web-view組件將默認展示在最高層級

小程序嵌套H5,小程序

index.wxml

<view class="page-body">
 ?  <web-view src="{{webUrl}}"></web-view>
</view>

index.js

data: {
 ? ?webUrl: app.globalData.BASE_URL + "contacts"
},
H5頁面和小程序跳轉(zhuǎn)及傳參
web-view提供的跳轉(zhuǎn)接口

小程序嵌套H5,小程序

跳轉(zhuǎn)基本流程
  • 在小程序中新建一個web-view組件,指定URL為要嵌入的H5頁面的鏈接。

  • 在H5頁面中添加微信小程序JS SDK的引入,在H5頁面中可以通過JS SDK調(diào)用小程序API。

  • 在小程序中設(shè)置跨域請求的安全域名,H5頁面需要在此安全域名下。

  • 在需要向小程序傳遞參數(shù)的H5頁面

H5 跳轉(zhuǎn)回小程序

在內(nèi)嵌網(wǎng)頁中跳回小程序,需引入JS-SDK

//安裝插件
npm i -S weixin-js-sdk 
//引入
import wx from 'weixin-js-sdk'

在需要返回小程序的H5頁面使用下面代碼:

wx.miniProgram.navigateTo({
 ?url: "/pages/index", //小程序地址
});

注意:

  • web-view 網(wǎng)頁與小程序之間不支持除 JSSDK 提供的接口之外的通信;

  • 在 iOS 中,若存在JSSDK接口調(diào)用無響應(yīng)的情況,可在 web-view 的 src 后面加個#wechat_redirect解決;

  • 避免在鏈接中帶有中文字符,在 iOS 中會有打開白屏的問題,建議加一下 encodeURIComponent;

小程序和H5之間傳參

小程序和H5之間互相跳轉(zhuǎn),如果需要傳遞參數(shù)的話可以通過 url 路徑拼接的方式來傳遞參數(shù)

小程序向H5傳參:

  • 微信小程序向H5傳參

 ? /**
 ? * 頁面的初始數(shù)據(jù)
 ? */
 ?data: {
 ? ?webUrl: app.globalData.BASE_URL +'eventDetail'
  }, ?
 ?/**
 ? * 生命周期函數(shù)--監(jiān)聽頁面加載
 ? */
 ?onLoad(options) {
 ? ?let queryString = 'id=1&name=anna'
 ? ?this.setData({
 ? ? ?webUrl: this.data.webUrl + '?' + queryString
 ?  })
  },
  • H5接收參數(shù)

created() {
 ? ?this.detailData = this.$route.query
},

H5向小程序傳參:

  • H5向小程序傳遞參數(shù)

linkPath(route) {
 ? ? ? ?if (route.query) {
 ? ? ? ? ?url = url + '?params=' + JSON.stringify(route.query)
 ? ? ?  }
 ? ? ? ?wx.miniProgram.redirectTo({
 ? ? ? ? ?url, //小程序地址
 ? ? ?  })
}
  • 小程序接收參數(shù)

 ?var util = require('../../../utils/util')
 ?/**
 ? * 生命周期函數(shù)--監(jiān)聽頁面加載
 ? */
 ?onLoad(options) {
 ? ?const params ?= JSON.parse( options.params )
 ? ?let queryString = util.queryUrl(params)
  },

utile.js

const queryUrl = params => {
  let queryString = Object.keys(params)
  .map(function (key) {
    return key + '=' + encodeURIComponent(params[key])
  })
  .join('&')

  return queryString
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : `0${n}`
}

module.exports = {
  formatTime,
  queryUrl
}
JSON數(shù)據(jù)處理

在傳遞參數(shù)過程中,使用了json處理參數(shù)可能會報 Unexpected token % in JSON at position 0這類報錯問題,問題原因就是里面有特殊符號,需要對json數(shù)據(jù)做處理

小程序嵌套H5,小程序

轉(zhuǎn)換string類型時 用encodeURIComponent編碼包一下
url = url + '?params=' + encodeURIComponent(JSON.stringify(route.query))
轉(zhuǎn)換成原來的類型decodeURIComponent先解碼回來再轉(zhuǎn)換回來
const params  = JSON.parse( decodeURIComponent( options.params ) )
自定義導(dǎo)航名

web-view頁面的標(biāo)題取決于H5嵌入頁面的title標(biāo)題,該組件不支持自定義組件導(dǎo)航欄

可以通過修改title標(biāo)題修改導(dǎo)航欄標(biāo)題

mounted() {
    document.title = '通訊錄'
},

注意:在微信開發(fā)者工具上可能會出現(xiàn)僅在第一次進入h5生效,進入h5后再改title的話并不能修改成功,由于微信開發(fā)者工具上不穩(wěn)定,在上傳后真機是可以的。

判斷是否是微信環(huán)境

當(dāng)有差異化功能時就可以通過微信sdk的接口進行當(dāng)前是否小程序/公眾號的判斷,然后進行webview新頁面的開發(fā)。

微信小程序提供了兩種判斷方法

  • wx.miniProgram.getEnv:獲取當(dāng)前環(huán)境

    / 判斷是否是小程序端
    isMiniPrograms() {
      var isMiniprogram = false;
      // 判斷是否是小程序打開
      wx.miniProgram.getEnv(res => {
        console.log(res.miniprogram)
        if (res.miniprogram) {
          //在小程序中
          isMiniprogram = true;
        }
      });
      return isMiniprogram;
    }
  • 在網(wǎng)頁內(nèi)可通過window.__wxjs_environment變量判斷是否在小程序環(huán)境,建議在WeixinJSBridgeReady回調(diào)中使用

const isWx =
      window.__wxjs_environment === 'miniprogram' || /miniProgram/i.test(navigator.userAgent.toLowerCase())
相關(guān)注意事項
  • 打開的域名沒有在小程序管理后臺設(shè)置業(yè)務(wù)域名(注意是業(yè)務(wù)域名,不是服務(wù)器域名)

  • 打開的頁面必須為https服務(wù)

  • 打開的頁面302過去的地址也必須設(shè)置過業(yè)務(wù)域名

  • web-view空白問題,請升級微信客戶端到 6.5.16

  • 頁面可以包含iframe,但是iframe的地址必須為業(yè)務(wù)域名

  • web-view不支持支付能力,web-view的API能力見web-view的文檔說明

  • 開發(fā)者自己檢查自己的https服務(wù)是否正常,測試方法:普通瀏覽器打開對應(yīng)的地址

  • 如果web-view使用了公眾號授權(quán)的服務(wù),開發(fā)者工具提示網(wǎng)頁開發(fā)者的問題,請見:概述 | 微信開放文檔文章來源地址http://www.zghlxwxcb.cn/news/detail-776029.html

到了這里,關(guān)于小程序嵌套H5的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 小程序web-view中嵌套H5如何跳轉(zhuǎn)其他小程序

    首先web-view中H5是無法跳轉(zhuǎn)到其他小程序的 只能通過H5跳轉(zhuǎn)回小程序,再讓小程序跳轉(zhuǎn)到其他小程序 H5跳轉(zhuǎn)回小程序使用wx.miniProgram.navigateTo() 小程序跳轉(zhuǎn)小程序使用wx.navigateToMiniProgram(),官方文檔有示例,用法很簡單,只需要傳入appid,還有path(可選參數(shù),不是必須的,不傳則默認

    2024年02月08日
    瀏覽(16)
  • 微信小程序嵌套的H5使用小程序分享(分享微信好友或朋友圈)

    微信小程序嵌套的H5使用小程序分享(分享微信好友或朋友圈)

    嵌套在微信小程序中的H5想要使用小程序自帶分享功能,分享H5的頁面給微信好友或朋友圈 H5中可使用wx.miniProgram.postMessage向小程序的webview發(fā)送消息,會觸發(fā)組件的message事件,在小程序webview頁面onShareAppMessage,onShareTimeline中進行使用。

    2024年02月13日
    瀏覽(94)
  • 小程序使用webview嵌套H5中使用iframe真機無法跳轉(zhuǎn) wx.miniProgram.navigateTo等失效問題

    小程序使用webview嵌套H5真機無法跳轉(zhuǎn) wx.miniProgram.getEnv、wx.miniProgram.navigateTo等失效無響應(yīng)問題分享 原因分析:由于頁面使用了iframe導(dǎo)致在子頁面中真機無法準(zhǔn)確獲取頁面運行環(huán)境(開發(fā)者工具中無影響); 解決方案:在調(diào)用方法前加一個 parent. 在父頁面中調(diào)用方法即可正常運

    2024年02月03日
    瀏覽(91)
  • H5與unity通信(只針對unity嵌套H5)

    說到H5與unity通信這里,主要分兩種情況,一個是H5調(diào)用unity的方法,另一個是unity調(diào)用H5的方法,通過互相調(diào)用方法來達到互相傳參的通信效果。 H5調(diào)用unity,主要通過unity向H5拋出方法名,H5通過window去調(diào)用unity方法,例如unity拋出了tabFun的方法, H5這里需要這么調(diào)用 這樣,H5向

    2024年04月14日
    瀏覽(31)
  • h5|web頁面嵌套iframe傳參給cocosCreator

    h5|web頁面嵌套iframe傳參給cocosCreator

    目錄 一、快速瀏覽 二、詳細實現(xiàn)與項目代碼 三、安全性評估——iframe 實現(xiàn)效果: 一、快速瀏覽 在h5頁面中,使用JavaScript獲取需要傳遞的參數(shù),如下: 使用iframe嵌入cocosCreator游戲頁面,同時將參數(shù)作為url的query string傳遞,如下: 在cocosCreator游戲頁面中,使用JavaScript獲取ur

    2024年02月02日
    瀏覽(21)
  • h5開發(fā)網(wǎng)站-使用jquery來實現(xiàn)二層嵌套的左側(cè)列表,點擊后顯示右側(cè)內(nèi)容的效果

    h5開發(fā)網(wǎng)站-使用jquery來實現(xiàn)二層嵌套的左側(cè)列表,點擊后顯示右側(cè)內(nèi)容的效果

    使用jquery來實現(xiàn)二層嵌套的左側(cè)列表,點擊后顯示右側(cè)內(nèi)容的效果。 為一級列表項和二級子列表項分別添加了點擊事件處理程序。 當(dāng)一級列表項被點擊時,使用.slideToggle()方法展開或收起對應(yīng)的二級子列表項。 當(dāng)二級子列表項被點擊時,使用event.stopPropagation()方法阻止事件冒

    2024年02月09日
    瀏覽(26)
  • 跨平臺應(yīng)用開發(fā)進階(五十)uni-app ios web-view嵌套H5項目白屏問題分析及解決

    跨平臺應(yīng)用開發(fā)進階(五十)uni-app ios web-view嵌套H5項目白屏問題分析及解決

    應(yīng)用 uni-app 框架開發(fā)好APP上架使用過程中,發(fā)現(xiàn)應(yīng)用經(jīng)過長時間由后臺切換至前臺時,通過 webview 方式嵌套的H5頁面發(fā)生白屏現(xiàn)象。 任何手機設(shè)備上,當(dāng)手機內(nèi)存不足時,os都會回收資源。一般是先回收后臺打開的資源。如果當(dāng)前應(yīng)用占用的資源過高,當(dāng)前應(yīng)用也有可能崩潰

    2024年02月14日
    瀏覽(24)
  • 微信小程序for循環(huán)嵌套

    wx:for-item=“pro” pro 自定義循環(huán)體參數(shù)

    2024年04月26日
    瀏覽(23)
  • Java程序設(shè)計入門教程-- 嵌套循環(huán)

    ??????? 在解決某些復(fù)雜問題時,若在for、while或do-while循環(huán)語句的循環(huán)體內(nèi)再包含一個循環(huán)語句,就形成了嵌套循環(huán)(nested loop)。 ??????? 這3種循環(huán)語句之間可相互嵌套,構(gòu)成多層的嵌套邏輯結(jié)構(gòu),外層的循環(huán)稱為外循環(huán),內(nèi)層的循環(huán)稱為內(nèi)循環(huán)。 ??????? 同嵌套

    2024年02月07日
    瀏覽(26)
  • Python 程序設(shè)計入門(022)—— 循環(huán)結(jié)構(gòu)程序設(shè)計(3):循環(huán)的嵌套

    在編程時,循環(huán)語句的嵌套是很常見的,循環(huán)嵌套是指在一個循環(huán)語句中又包含另一個循環(huán)語句。例如:在 for 循環(huán)中嵌入另一個 for 循環(huán)或 while 循環(huán),在 while 循環(huán)中嵌入另一個 while 循環(huán)或 for 循環(huán)等。 1、使用雙層 for 循環(huán) 代碼如下: 代碼如下: 1、使用 for 循環(huán)中嵌套 w

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包