欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序webview與VUE?H5實(shí)時(shí)通訊具體步驟

 更新時(shí)間:2025年09月15日 08:58:14   作者:小周同學(xué):  
微信小程序與H5通信是在日常開發(fā)中總會(huì)遇到的場(chǎng)景,下面這篇文章主要介紹了微信小程序webview與VUE?H5實(shí)時(shí)通訊的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

背景:

微信小程序、vue2搭建開發(fā)的H5頁(yè)面,需要實(shí)現(xiàn)實(shí)時(shí)通信

在微信小程序開發(fā)中,會(huì)遇到嵌套H5頁(yè)面,H5頁(yè)面需要向微信小程序發(fā)消息觸發(fā)微信小程序某個(gè)函數(shù)方法,微信開發(fā)文檔上寫的非常不清楚,導(dǎo)致踩了很多坑,該文章總結(jié)可直接使用方法。

在開發(fā)中 ,微信小程序內(nèi)嵌webview,H5想要與微信小程序發(fā)消息,必須要使用微信文檔中的wx.miniProgram的方法,但想要在H5中使用該方法,必須需要引入JSSDK.js文件,官方其實(shí)并沒有給出明確的引入方式。

具體實(shí)現(xiàn)步驟

1、配置域名

首先想要實(shí)現(xiàn)通訊,我們webview中嵌套的H5必須要配置在微信公眾號(hào)開發(fā)平臺(tái)的業(yè)務(wù)域名

登錄微信公眾平臺(tái)-在管理-開發(fā)管理-開發(fā)設(shè)置-業(yè)務(wù)域名中配置我們?cè)L問的H5(該權(quán)限需要小程序管理員才能配置)

2、SDK文件引入

在vue項(xiàng)目也就是我們H5項(xiàng)目中引入JSSDK 1.6.0,(目前是這個(gè)版本,具體可查看web-view | 微信開放文檔

踩坑點(diǎn):有很多文章寫的需要在根項(xiàng)目index.html文件中引入,類似

但是不知道為什么,我在這引入無(wú)法實(shí)現(xiàn)通訊

后來(lái)改用在需要操作的H5頁(yè)面上引入(這是我們的H5頁(yè)面),這樣引入就能調(diào)用wx.miniProgram里面的方法

  mounted() {
    this.$nextTick(() => {
      const script = document.createElement("script");
      script.src = "https://res.wx.qq.com/open/js/jweixin-1.6.0.js";
      script.onload = () => {};
      document.head.appendChild(script);
    });
  },

3、使用

H5實(shí)例:(注意使用wx.miniProgram.postMessage這個(gè)API會(huì)有限制:向小程序發(fā)送消息,會(huì)在以下特定時(shí)機(jī)觸發(fā)組件的message事件:小程序后退、組件銷毀、分享、復(fù)制鏈接)這些操作才會(huì)進(jìn)行接收,所以我這里直接使用了navigateTo跳轉(zhuǎn)一個(gè)新的界面來(lái)接收傳遞過來(lái)的參數(shù)

<template>
  <button @click="submitForm">按鈕</button>
</template>
<script>
import { Toast } from "vant";
export default {
  mounted() {
    this.$nextTick(() => {
      const script = document.createElement("script");
      script.src = "https://res.wx.qq.com/open/js/jweixin-1.6.0.js";
      script.onload = () => {};
      document.head.appendChild(script);
    });
  },
  methods: {
    submitForm() {
      // 判斷 wx 是否存在(防止在瀏覽器中報(bào)錯(cuò))
      if (typeof wx !== "undefined" && wx.miniProgram) {
        wx.miniProgram.navigateTo({
          url: "/pages/webview/pay?status=success&orderId=12345",  //我這里直接使用了navigateTo做界面跳轉(zhuǎn),并傳遞了參數(shù)
        });
        Toast("消息已發(fā)送給小程序");
      } else {
        Toast("當(dāng)前不在小程序 web-view 環(huán)境,無(wú)法發(fā)送消息");
      }
    }
  }
};
</script>

然后在我們的小程序pay.vue中可以這樣接收

<template>
  <view></view>
</template>
 
<script>
  export default {
   data() {
    return {
    }
   },
   onLoad(options) {
    console.log(options)
   },
  }
</script>

4、注意點(diǎn)

在微信開發(fā)文檔中有寫明,wx.miniProgram.postMessage只有在特定時(shí)機(jī)才會(huì)觸發(fā)message事件,什么意思呢,就是我在H5頁(yè)面點(diǎn)擊了操作按鈕,向小程序發(fā)送了消息,這時(shí)候小程序并不會(huì)實(shí)時(shí)收到我的消息,而是在我 操作了webview或者上面協(xié)議幾種情況才會(huì)觸發(fā)小程序端的@message才會(huì)收到消息,他們的交互并不是實(shí)時(shí)的。

所以在實(shí)際業(yè)務(wù)中,要根據(jù)文檔靈活變通,例如我這里的交互是在H5頁(yè)面點(diǎn)擊操作需要跳轉(zhuǎn)到小程序內(nèi)的某個(gè)頁(yè)面,我這里直接用的是wx.miniProgram.navigateTo,這時(shí)候就可以在新的界面接收H5傳遞過來(lái)的參數(shù)了。

總結(jié)

到此這篇關(guān)于微信小程序webview與VUE H5實(shí)時(shí)通訊的文章就介紹到這了,更多相關(guān)微信小程序與VUE H5實(shí)時(shí)通訊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue 使用 vue-pdf 實(shí)現(xiàn)pdf在線預(yù)覽的示例代碼

    vue 使用 vue-pdf 實(shí)現(xiàn)pdf在線預(yù)覽的示例代碼

    這篇文章主要介紹了vue 使用 vue-pdf 實(shí)現(xiàn)pdf在線預(yù)覽的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vue組件通信之父?jìng)髯优c子傳父詳細(xì)講解

    Vue組件通信之父?jìng)髯优c子傳父詳細(xì)講解

    這篇文章主要介紹了React中父子組件通信詳解,在父組件中,為子組件添加屬性數(shù)據(jù),即可實(shí)現(xiàn)父組件向子組件通信,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-10-10
  • vue+scss+element-ui實(shí)現(xiàn)表格表頭斜杠一分為三方式

    vue+scss+element-ui實(shí)現(xiàn)表格表頭斜杠一分為三方式

    這篇文章主要介紹了vue+scss+element-ui實(shí)現(xiàn)表格表頭斜杠一分為三方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue3的el-table-column增加跳轉(zhuǎn)其他頁(yè)面的方法

    Vue3的el-table-column增加跳轉(zhuǎn)其他頁(yè)面的方法

    文章介紹了如何在Vue3的el-table-column中增加跳轉(zhuǎn)其他頁(yè)面的功能,并提供了示例代碼和handleUpdate方法的源碼分析,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • vue踩坑記-在項(xiàng)目中安裝依賴模塊npm install報(bào)錯(cuò)

    vue踩坑記-在項(xiàng)目中安裝依賴模塊npm install報(bào)錯(cuò)

    這篇文章主要介紹了vue踩坑記-在項(xiàng)目中安裝依賴模塊npm install報(bào)錯(cuò),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Electron vue的使用教程圖文詳解

    Electron vue的使用教程圖文詳解

    Electron相當(dāng)于一個(gè)瀏覽器的外殼,可以把網(wǎng)頁(yè)程序嵌入到殼里面,可以運(yùn)行在桌面上的一個(gè)程序,可以把網(wǎng)頁(yè)打包成一個(gè)在桌面運(yùn)行的程序。這篇文章主要介紹了electron-vue多顯示屏下將新窗口投放是其他屏幕 ,需要的朋友可以參考下
    2019-07-07
  • vue使用高德地圖實(shí)現(xiàn)添加點(diǎn)標(biāo)記和獲取點(diǎn)擊位置信息的示例代碼

    vue使用高德地圖實(shí)現(xiàn)添加點(diǎn)標(biāo)記和獲取點(diǎn)擊位置信息的示例代碼

    這篇文章主要介紹了vue使用高德地圖實(shí)現(xiàn)添加點(diǎn)標(biāo)記和獲取點(diǎn)擊位置信息的示例代碼,文中補(bǔ)充介紹了高德vue-amap使用(一)標(biāo)記點(diǎn)位獲取地址及經(jīng)緯度,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-01-01
  • 基于vue.js實(shí)現(xiàn)分頁(yè)查詢功能

    基于vue.js實(shí)現(xiàn)分頁(yè)查詢功能

    這篇文章主要為大家詳細(xì)介紹了基于vue.js實(shí)現(xiàn)分頁(yè)查詢功能,vue.js實(shí)現(xiàn)數(shù)據(jù)庫(kù)分頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 最新評(píng)論