最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

背景:

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

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

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

具體實現(xiàn)步驟

1、配置域名

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

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

2、SDK文件引入

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

踩坑點:有很多文章寫的需要在根項目index.html文件中引入,類似

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

后來改用在需要操作的H5頁面上引入(這是我們的H5頁面),這樣引入就能調(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實例:(注意使用wx.miniProgram.postMessage這個API會有限制:向小程序發(fā)送消息,會在以下特定時機觸發(fā)組件的message事件:小程序后退、組件銷毀、分享、復制鏈接)這些操作才會進行接收,所以我這里直接使用了navigateTo跳轉(zhuǎn)一個新的界面來接收傳遞過來的參數(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 是否存在(防止在瀏覽器中報錯)
      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("當前不在小程序 web-view 環(huán)境,無法發(fā)送消息");
      }
    }
  }
};
</script>

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

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

4、注意點

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

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

總結(jié)

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

相關(guān)文章

  • vue網(wǎng)站優(yōu)化實戰(zhàn)之秒開網(wǎng)頁

    vue網(wǎng)站優(yōu)化實戰(zhàn)之秒開網(wǎng)頁

    最近在搭建自己的博客,前端采用Vue技術(shù),發(fā)現(xiàn)首頁加載速度非常之慢,常常達到10S左右,遂開始優(yōu)化之旅,這篇文章主要給大家介紹了關(guān)于vue網(wǎng)站優(yōu)化實戰(zhàn)之秒開網(wǎng)頁的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue的template模板是如何轉(zhuǎn)為render函數(shù)的過程

    vue的template模板是如何轉(zhuǎn)為render函數(shù)的過程

    Vue從template到render函數(shù)的轉(zhuǎn)換經(jīng)歷模板解析、AST構(gòu)建、優(yōu)化、生成渲染函數(shù)等步驟,首先進行詞法分析將模板拆解為tokens,再進行語法分析構(gòu)建AST,然后對AST進行靜態(tài)標記和提升優(yōu)化,最后轉(zhuǎn)換成JavaScript渲染函數(shù),生成虛擬DOM,完成組件的渲染和更新,實現(xiàn)了模板的高效轉(zhuǎn)化
    2024-10-10
  • 記一次vue去除#問題處理經(jīng)過小結(jié)

    記一次vue去除#問題處理經(jīng)過小結(jié)

    這篇文章主要介紹了vue去除#問題處理經(jīng)過,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • postcss-pxtorem設(shè)置不轉(zhuǎn)換UI框架的CSS單位問題

    postcss-pxtorem設(shè)置不轉(zhuǎn)換UI框架的CSS單位問題

    這篇文章主要介紹了postcss-pxtorem設(shè)置不轉(zhuǎn)換UI框架的CSS單位問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vuejs如何解決瀏覽器切換頁面后setInterval計時器停止執(zhí)行的問題

    vuejs如何解決瀏覽器切換頁面后setInterval計時器停止執(zhí)行的問題

    setinterval()是定時調(diào)用的函數(shù),可按照指定的周期(以毫秒計)來調(diào)用函數(shù)或計算表達式,這篇文章主要給大家介紹了關(guān)于vuejs如何解決瀏覽器切換頁面后setInterval計時器停止執(zhí)行的問題,需要的朋友可以參考下
    2024-01-01
  • Vue 中v-model的完整用法及v-model的實現(xiàn)原理解析

    Vue 中v-model的完整用法及v-model的實現(xiàn)原理解析

    這篇文章詳細介紹了Vue.js中的v-model指令的使用,包括基本用法、原理、結(jié)合不同類型的表單元素(如radio、checkbox、select)以及使用修飾符(如lazy、number、trim)等,感興趣的朋友一起看看吧
    2025-02-02
  • 探究Vue.js 2.0新增的虛擬DOM

    探究Vue.js 2.0新增的虛擬DOM

    vue.js 2.0大家對此并不陌生吧。最令人興奮的是更新頁面的"虛擬DOM"的加入。那么對于虛擬 DOM 可以做什么呢?今天小編通過本文給大家解答下
    2016-10-10
  • Vue3+TypeScript封裝axios并進行請求調(diào)用的實現(xiàn)

    Vue3+TypeScript封裝axios并進行請求調(diào)用的實現(xiàn)

    這篇文章主要介紹了Vue3+TypeScript封裝axios并進行請求調(diào)用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Vue+Axios實現(xiàn)文件上傳自定義進度條

    Vue+Axios實現(xiàn)文件上傳自定義進度條

    這篇文章主要為大家詳細介紹了Vue+Axios實現(xiàn)文件上傳自定義進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Vue 數(shù)組和對象更新,但是頁面沒有刷新的解決方式

    Vue 數(shù)組和對象更新,但是頁面沒有刷新的解決方式

    今天小編就為大家分享一篇Vue 數(shù)組和對象更新,但是頁面沒有刷新的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論

务川| 尉氏县| 明光市| 微山县| 竹山县| 大城县| 金乡县| 凤翔县| 华池县| 桐柏县| 兴业县| 同仁县| 巍山| 葫芦岛市| 德安县| 泾阳县| 宜春市| 南康市| 唐河县| 无为县| 甘德县| 江口县| 石屏县| 瑞昌市| 页游| 襄樊市| 枣强县| 溆浦县| 维西| 顺昌县| 莫力| 平定县| 淮安市| 东源县| 镇远县| 准格尔旗| 卫辉市| 揭东县| 外汇| 广昌县| 阜阳市|