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

uniapp調(diào)整webview的大小與位置解決遮擋問題的辦法

 更新時(shí)間:2025年01月04日 10:47:28   作者:printf_824  
這篇文章主要介紹了如何在uniapp中使用webview時(shí)控制其大小和位置,以避免擋住頂部?jī)?nèi)容,并提供了一個(gè)示例代碼,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

起因:

uniapp使用webview時(shí)默認(rèn)的是全屏顯示

通過fullscreen="false"和webview-styles="style"兩個(gè)屬性可以控制大小,但是依然會(huì)擋住頂部的東西,只能以百分比的單位去控制寬高且無法控制位置

解決方案:

眾所周知,query.select().boundingClientRect可以獲取元素的高度,$getAppWebview可以獲取webview實(shí)例,uni.getSystemInfoSync()可以獲取屏幕高度,因此我們就可以通過控制webview定位來讓一些內(nèi)容顯示出來,并且可以修改webview實(shí)例的高度,以下是我使用時(shí)的示例,僅供參考:

<view class="base_header">
			<mHeader ref="base_header"></mHeader>
		</view>
		<view class="main">
			<view class="bage_close">

				<close color="#000" ref="bage_close"></close>
			</view>

			<web-view :fullscreen="false" src="xxx"></web-view>
		</view>
onMounted(() => {
		const instance = getCurrentInstance();
		const query = uni.createSelectorQuery().in(instance);
		const {
			windowHeight
		} = uni.getSystemInfoSync(); // 屏幕高度(單位:px)
		console.log("屏幕高度:", windowHeight);
		if (instance && instance.proxy) {
			const currentWebview = instance.proxy.$scope?.$getAppWebview();
			if (currentWebview) {
				nextTick(() => {
					setTimeout(() => {
						let closeHeight = 0;
						let baseHeaderHeight = 0;

						query
							.select(".base_header")
							.boundingClientRect((res) => {
								if (res && res.height) {
									baseHeaderHeight = res.height;
								} else {
									baseHeaderHeight = 100; // 默認(rèn)高度
								}
							})
							.select(".bage_close")
							.boundingClientRect((res) => {
								if (res && res.height) {
									closeHeight = res.height + 100;
								} else {
									closeHeight = 100; // 默認(rèn)高度 
								}
							})
							.exec(() => {
								const totalTop = closeHeight + baseHeaderHeight;
								console.log("Calculated totalTop:", totalTop);

								const wv = currentWebview.children()?.[0];
								if (wv) {
									wv.setStyle({
										top: `${totalTop}px`,
										height: `${windowHeight-totalTop-30}px`,
										zIndex: -1,
									});
								}
							});
					}, 300);
				});
			}
		}
	});

假設(shè)遇見了點(diǎn)擊事件問題,記得調(diào)整內(nèi)容的層級(jí)(position: relative;z-index: 1000;)

總結(jié)

到此這篇關(guān)于uniapp調(diào)整webview的大小與位置解決遮擋問題的文章就介紹到這了,更多相關(guān)uniapp調(diào)整webview大小與位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript數(shù)組的棧方法與隊(duì)列方法詳解

    JavaScript數(shù)組的棧方法與隊(duì)列方法詳解

    這篇文章主要介紹了JavaScript數(shù)組的棧方法與隊(duì)列方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加,刪除行的方法實(shí)例詳解

    JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加,刪除行的方法實(shí)例詳解

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加,刪除行的方法,較為詳細(xì)的分析了javascript操作table表格實(shí)現(xiàn)針對(duì)表格元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • 微信小程序sessionid不一致問題解決

    微信小程序sessionid不一致問題解決

    這篇文章主要介紹了微信小程序sessionid不一致問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • js實(shí)現(xiàn)的后臺(tái)左側(cè)管理菜單代碼

    js實(shí)現(xiàn)的后臺(tái)左側(cè)管理菜單代碼

    這篇文章主要介紹了js實(shí)現(xiàn)的后臺(tái)左側(cè)管理菜單代碼,可實(shí)現(xiàn)美觀大氣的左側(cè)折疊菜單效果,涉及JavaScript基于鼠標(biāo)事件動(dòng)態(tài)操作頁面元素樣式變換的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-09-09
  • JS中用try catch對(duì)代碼運(yùn)行的性能影響分析

    JS中用try catch對(duì)代碼運(yùn)行的性能影響分析

    要捕獲JavaScript代碼中的異常一般會(huì)采用 try catch,不過try catch的使用是否是對(duì)代碼性能產(chǎn)生影響呢?答案是肯定有的,但是有多少不得而知。下面這篇文章就給大家詳細(xì)介紹了在JS中用try catch對(duì)代碼運(yùn)行的性能影響,有需要的朋友們可以參考借鑒。
    2016-12-12
  • 微信小程序中的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)方式

    微信小程序中的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)方式

    這篇文章主要介紹了微信小程序中的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • JS+CSS制作DIV層可(最小化/拖拽/排序)功能實(shí)現(xiàn)代碼

    JS+CSS制作DIV層可(最小化/拖拽/排序)功能實(shí)現(xiàn)代碼

    DIV層最小化和隨意拖拽排序,很多的愛好者都想實(shí)現(xiàn)這個(gè)功能,小編整理搜集了一下,希望本文的知識(shí)點(diǎn)可以幫助到你
    2013-02-02
  • JS函數(shù)式編程之純函數(shù)、柯里化以及組合函數(shù)

    JS函數(shù)式編程之純函數(shù)、柯里化以及組合函數(shù)

    這篇文章主要介紹了JS函數(shù)式編程之純函數(shù)、柯里化以及組合函數(shù),文章對(duì)三個(gè)函數(shù)進(jìn)行分析講解,內(nèi)容也很容易理解,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01
  • JavaScript原型鏈與繼承操作實(shí)例總結(jié)

    JavaScript原型鏈與繼承操作實(shí)例總結(jié)

    這篇文章主要介紹了JavaScript原型鏈與繼承操作,結(jié)合實(shí)例形式總結(jié)分析了javascript原形鏈與繼承的相關(guān)概念、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • javascript設(shè)計(jì)模式 – 模板方法模式原理與用法實(shí)例分析

    javascript設(shè)計(jì)模式 – 模板方法模式原理與用法實(shí)例分析

    這篇文章主要介紹了javascript設(shè)計(jì)模式 – 模板方法模式原理,結(jié)合實(shí)例形式分析了javascript模板方法模式相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04

最新評(píng)論