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

uni-app之webview通信實現(xiàn)方法示例

 更新時間:2025年07月17日 09:15:51   作者:Pearson  
UniApp憑借其跨平臺開發(fā)的顯著優(yōu)勢,成為眾多開發(fā)者構(gòu)建多端應(yīng)用的首選框架,這篇文章主要介紹了uni-app之webview通信的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1 背景

在uni-app開發(fā)中,常見的一種場景是主應(yīng)用通過web-view組件加載子應(yīng)用的H5頁面。為便于描述,我們將主應(yīng)用稱為App,子應(yīng)用稱為H5站點。兩者均采用uni-app+Vue技術(shù)棧:主應(yīng)用通過HBuilderX云打包生成原生App(如Android的APK包),子應(yīng)用則通過HBuilderX發(fā)布為H5站點。當主應(yīng)用加載H5頁面時,web-view會占據(jù)整個手機屏幕。此時,若需通過物理按鍵或H5頁面的返回按鈕返回主應(yīng)用,則需實現(xiàn)應(yīng)用間通信,由H5站點向主應(yīng)用發(fā)送關(guān)閉web-view實例的請求。

2 技術(shù)方案

經(jīng)過分析,我確定了兩種可行的技術(shù)方案。第一種方案利用web-view組件的消息機制:子應(yīng)用通過調(diào)用postMessage向主應(yīng)用發(fā)送消息,主應(yīng)用監(jiān)聽message事件,并在消息處理函數(shù)中執(zhí)行web-view的關(guān)閉操作。第二種方案則采用服務(wù)器中轉(zhuǎn)機制:主應(yīng)用和子應(yīng)用均通過WebSocket連接至中轉(zhuǎn)服務(wù)器,實現(xiàn)命令的發(fā)送與接收。相較而言,第二種方案實現(xiàn)復雜度較高,且易受網(wǎng)絡(luò)環(huán)境影響。因此,本文將采用第一種方案進行實現(xiàn)。

3 實現(xiàn)

3.1 子應(yīng)用實現(xiàn)

  • 下載uni.webview.1.5.6.js

在子項目中,下載uni.webview.js,我使用的是uni.webview.1.5.6.js,下載地址為:

https://gitcode.net/dcloud/uni-app/-/raw/dev/dist/uni.webview.1.5.6.js

將下載完成的uni.webview.1.5.6.js文件復制到項目的目錄/static/js/目錄下(如果目錄不存在,則可以手動創(chuàng)建這個目錄)。

  • 引用

修改main.js, 添加對uni.webview.1.5.6.js的引用:

import '/static/js/uni.webview.1.5.6.js'
  • 調(diào)用postMessage

在需要返回主應(yīng)用的地方,添加如下代碼

if(uni.webView) {
	console.log("支持uni.webview", uni.webView);
	uni.webView.postMessage({
		data: {
			action: 'backToPlatform'
		}
	});
} else {
	console.log("不支持uni.webview");
}

3.2 主應(yīng)用實現(xiàn)

  • 模版
<web-view
	 :embed="true" 
	 :src="imViewUrl" 
	 @message="handleMessage" 
/>
  • js
export default {
	//其他代碼
	methods: {
		handleMessage(e) {
			if(e && e.detail && e.detail.data && e.detail.data.length > 0) {
				const { action } = e.detail.data[0];
				if(action == 'backToPlatform') {
				//在這里,我們可以通過顯隱條件或refs對象的操作來關(guān)閉web-view
				}
			}
		},
	}
	//其他代碼

3.3 主應(yīng)用發(fā)送消息到H5

  • app端
var currentWebview = that.$parent.$scope.$getAppWebview()
currentWebview.children()[0].evalJS(`onMicrophonePermResult(${res ? 'true' : 'false'})`);
  • h5段
	mounted() {
		// 將方法掛載到 window,供主應(yīng)用調(diào)用
		window.onMicrophonePermResult = (result) => {
			console.log("onMicrophonePermResult result=", result)
		};
	},

總結(jié) 

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

相關(guān)文章

  • Vue生命周期區(qū)別詳解

    Vue生命周期區(qū)別詳解

    這篇文章主要介紹了Vue生命周期區(qū)別詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 詳解element-ui表格的合并行和列(非常細節(jié))

    詳解element-ui表格的合并行和列(非常細節(jié))

    最近在需求中遇到了elementUI合并行,索性給大家整理下,這篇文章主要給大家介紹了關(guān)于element-ui表格的合并行和列的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 詳解Vue3框架的搭建及工程目錄

    詳解Vue3框架的搭建及工程目錄

    文章介紹了如何使用Node.js搭建Vue工程,并對Vue工程目錄進行了詳細解讀,包括各種文件夾和文件的作用,此外,還講解了如何設(shè)置網(wǎng)頁標題和全局樣式,以及如何配置路由,感興趣的朋友一起看看吧
    2025-03-03
  • Vue Element UI + OSS實現(xiàn)上傳文件功能

    Vue Element UI + OSS實現(xiàn)上傳文件功能

    這篇文章主要為大家詳細介紹了Vue Element UI + OSS實現(xiàn)上傳文件功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Vue如何實現(xiàn)el-table多選樣式變?yōu)閱芜x效果

    Vue如何實現(xiàn)el-table多選樣式變?yōu)閱芜x效果

    這篇文章主要介紹了Vue如何實現(xiàn)el-table多選樣式變?yōu)閱芜x效果,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Vue項目中使用Sass的完整指南(方案解析)

    Vue項目中使用Sass的完整指南(方案解析)

    本文詳細介紹了在Vue項目中集成Sass的步驟和技巧,包括安裝依賴、基本使用、不同構(gòu)建工具的配置、全局變量和混入的配置,以及項目結(jié)構(gòu)建議和常見問題解決方案,特別強調(diào)了Vue3+Vite項目中使用Sass的便捷性,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • vue 數(shù)據(jù)雙向綁定的實現(xiàn)方法

    vue 數(shù)據(jù)雙向綁定的實現(xiàn)方法

    這篇文章主要介紹了vue 數(shù)據(jù)雙向綁定的實現(xiàn)方法,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-03-03
  • vue關(guān)閉瀏覽器退出登錄的實現(xiàn)示例

    vue關(guān)閉瀏覽器退出登錄的實現(xiàn)示例

    本文主要介紹了vue關(guān)閉瀏覽器退出登錄,一般都是根據(jù)根據(jù)beforeunload和unload這兩個事件執(zhí)行的。本文就詳細的介紹一下如何實現(xiàn),感興趣的可以了解一下
    2021-12-12
  • Vue2.0父子組件傳遞函數(shù)的教程詳解

    Vue2.0父子組件傳遞函數(shù)的教程詳解

    這篇文章主要介紹了Vue2.0父子組件傳遞函數(shù)的教程詳解,需要的朋友可以參考下
    2017-10-10
  • Vue項目優(yōu)化打包詳解

    Vue項目優(yōu)化打包詳解

    這篇文章主要為大家介紹了Vue項目的優(yōu)化打包,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11

最新評論

博野县| 洛浦县| 松溪县| 万山特区| 日照市| 澄迈县| 扬州市| 马鞍山市| 卢湾区| 垣曲县| 焦作市| 东阳市| 阿城市| 乌兰察布市| 宁津县| 胶州市| 沙田区| 屏山县| 丹东市| 小金县| 公主岭市| 钦州市| 新河县| 沭阳县| 安平县| 克什克腾旗| 临澧县| 洮南市| 钟山县| 宁蒗| 辉南县| 东莞市| 浦北县| 浦城县| 高要市| 北安市| 全州县| 上林县| 玛曲县| 怀集县| 沂源县|