混合开发uniapp用webview嵌套一个h5页面。h5会自动铺满整个屏幕,导致状态栏也被铺上了,怎么处理让他顶部的通知栏露出来~
onLoad() {
let height = 0; //定义动态的高度变量
let statusbar = 0; // 动态状态栏高度
uni.getSystemInfo({ // 获取当前设备的具体信息
success: (sysinfo) => {
statusbar = sysinfo.statusBarHeight;
height = sysinfo.windowHeight;
console.log('状态栏',statusbar,'高',height);
}
});
let currentWebview = this.$scope.$getAppWebview(); //获取当前web-view
setTimeout(function() {
var wv = currentWebview.children()[0];
wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px
top: statusbar, //此处是距离顶部的高度,应该是你页面的头部
height: height - statusbar, //webview的高度
})
}, 200); //如页面初始化调用需要写延迟
}
这样处理之后,我发现状态栏是白色的,看不到状态了,然后我设置了一下颜色。
web-view {
background-color: #333;
}