uniapp,通过webview内嵌h5页面,如何修改h5的大小

需求,uniapp的app的项目,需要内嵌一个h5的页面,但是这个h5等比缩放后,高度不够撑开pad,所以想放中间,上下留白(跟背景色相同)

只需要在内嵌webview的页面增加如下代码:

javascript 复制代码
onReady() {
	// #ifdef APP-PLUS
	var currentWebview = this.$scope
	.$getAppWebview() //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
	setTimeout(function() {
		wv = currentWebview.children()[0]
		wv.setStyle({
			top: 40,
			background: 'transparent'//可不加,默认透明色,但不能设置其他颜色,不然top失效
		})
	}, 1000); //如果是页面初始化调用时,需要延时一下
	// #endif
},

需要注意:

background可以不加,或者设置为transparent,但是不能设置white等别的颜色,不然top就失效了

Web-view的渲染层级逻辑:

  1. 不设置background时

    • Web-view使用默认背景(通常是透明或平台默认)

    • 系统将其视为"可能有透明区域"

    • top: 150 生效,上方区域可以交互

  2. 设置为透明时

    • 明确告诉系统:"我是透明的"

    • top: 150 生效,上方区域可以交互

  3. 设置为具体颜色时

    • 告诉系统:"我是不透明的实体"

    • 系统会将其作为一个完整的不透明层处理

    • 即使设置了 top,也会从屏幕顶部开始绘制

    • 0-150区域被Web-view的不透明背景覆盖

相关推荐
局外人LZ1 天前
Uniapp脚手架项目搭建,uniapp+vue3+uView pro+vite+pinia+sass
前端·uni-app·sass
2501_915918411 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
前端呆头鹅1 天前
Websocket使用方案详解(uniapp版)
websocket·网络协议·uni-app
浮桥1 天前
uniapp+h5 公众号实现分享海报绘制
uni-app·notepad++
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
wangjun51591 天前
uniapp uni.downloadFile 偶发性下载文件失败 无响应
uni-app
2501_915106322 天前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview
2501_915918412 天前
中小团队发布,跨平台 iOS 上架,证书、描述文件创建管理,测试分发一体化方案
android·ios·小程序·https·uni-app·iphone·webview
家里有只小肥猫2 天前
uniApp打包ios报错
ios·uni-app
jingling5552 天前
uniapp | 基于高德地图实现位置选择功能(安卓端)
android·前端·javascript·uni-app