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

uni-app中app和webview的h5通信簡(jiǎn)單步驟

 更新時(shí)間:2025年02月10日 10:45:22   作者:必哥  
這篇文章主要介紹了如何在nvue頁面中使用webview組件,并詳細(xì)介紹了如何在h5項(xiàng)目中安裝和配置npmiy_uniwebview插件,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前情提要:

1、使用webview的頁面需要是nvue,否則沒有 sWebViewRef.value.evalJS() 方法;

2、需要自己安裝npm i y_uniwebview,官方的 引入https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js腳本存在沖突,會(huì)報(bào)錯(cuò)

第一步,在 h5 項(xiàng)目中安裝y_uniwebview插件

安裝: npm i y_uniwebview
引入: import y_uni from "y_uniwebview"

第二步,h5 代碼,接收app信息和向app發(fā)送信息

<template>
  <view class="avatar-uploader">
    <view>
      <button @click="postMessage">向app發(fā)送信息</button>
    </view>
    <view>
      接收到app信息:{{ appMsg }}
    </view>
  </view>
</template>
<script lang="ts" setup>

import y_uni from "y_uniwebview"
import { ref } from 'vue';

const appMsg = ref('');

// app信息觸發(fā)方法
window.appCallBack = (val) => {
  appMsg.value = val
  console.log('app發(fā)送過來的數(shù)據(jù)---', val)
}

let count = 0;

// 向app發(fā)送信息
function postMessage(type) {
  console.log('h5發(fā)送信息');
  // 發(fā)送信息
  y_uni.webView.postMessage({
    data: {
      msg: `h5信息 ${count++} 次`
    }
  });
}

</script>

第三步、app頁面,接收h5信息和向h5發(fā)送信息

注意,這里需要用nvue,否則會(huì)沒有 sWebViewRef.value.evalJS() 導(dǎo)致報(bào)錯(cuò)

<template>
    <view>
        <button  @click="postMsg">
            向h5發(fā)送信息
        </button>
        <view>
            接收到h5信息:{{h5Msg}}
        </view>
    </view>
    <br>
    <web-view
            ref="sWebViewRef"
            src="http://192.168.31.93/" style="" :style="webViewStyle"
            @on-post-message="handleMessage"
    ></web-view>
</template>

<script setup>
    import {computed, ref} from 'vue';

    const sWebViewRef = ref()

    const h5Msg = ref('');

    // 接收h5信息
    function handleMessage(event) {
        // 接收webview發(fā)送的消息
        h5Msg.value = event.detail.data[0].msg;
        console.log('收到 h5 消息: ' + h5Msg);
    }
    
    let count = 0;

    // 向 h5 發(fā)送信息
    function postMsg(msg) {
        console.log('app發(fā)送信息')
        sWebViewRef.value.evalJS(`appCallBack('app信息 ${count++} 次')`)
    }

    const webViewStyle = computed(() => {
        let width = 0;
        let height = 0;
        uni.getSystemInfo({
            // 獲取當(dāng)前設(shè)備的具體信息
            success: sysinfo => {
                width = sysinfo.windowWidth - 100;
                height = sysinfo.windowHeight - 100;
            }
        })
        return {
            width: width + 'px', height: height + 'px'
        }
    })
</script>

總結(jié) 

到此這篇關(guān)于uni-app中app和webview的h5通信的文章就介紹到這了,更多相關(guān)uni-app app和webview的h5通信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

霞浦县| 乾安县| 周至县| 惠水县| 新乡县| 东港市| 文化| 西峡县| 伊川县| 淮南市| 娱乐| 双桥区| 罗田县| 唐山市| 都兰县| 修文县| 衡南县| 公安县| 南皮县| 噶尔县| 新巴尔虎右旗| 定陶县| 朝阳区| 札达县| 辽源市| 普兰县| 丹阳市| 江油市| 高平市| 福鼎市| 巫溪县| 竹北市| 句容市| 广水市| 甘孜县| 马边| 麻城市| 轮台县| 石楼县| 龙海市| 商水县|