uni-app套web-view之后如何留出statusbar

本文介绍了如何在uni-app中通过JS编程方式设置`navigationStyle`为`custom`,并使页面内容不填充整个屏幕,保留statusBar的高度。在`onLoad`函数中创建了一个新的webview,并设置了其高度为屏幕高度减去statusBar高度,然后将其添加到当前页面中,确保页面布局正确。这种方法适用于不使用CSS调整,且需要在APP-PLUS环境下运行的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果设了"navigationStyle" : "custom"会自动充满全部屏幕,现在,如果想在页面上面腾出statusBar高度,该怎么做?

不要使用css,而是使用JS编程方式。

必须使用APP-PLUS。

<template>
    <view>
    </view>
</template>



    export default {
        onLoad() {
            // #ifdef APP-PLUS
            var wv = plus.webview.create("http://xxx", "custom-webview", {
                plusrequire: "none", //禁止远程网页使用plus的API,有些使用mui制作的网页可能会监听plus.key,造成关闭页面混乱,可以通过这种方式禁止
                'uni-app': 'none', //不加载uni-app渲染层框架,避免样式冲突
                top: uni.getSystemInfoSync().statusBarHeight ,//放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
                height: uni.getSystemInfoSync().screenHeight - uni.getSystemInfoSync().statusBarHeight
            })
            var currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
            currentWebview.append(wv); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
            // #endif
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值