uniapp web-view调整修改高度设置
web-view默认占全屏,怎么处理自定义高度,实现如下:
<view class="myCardNav">
<!-- 状态栏占位符 -->
<uni-nav-bar height="125rpx" border="false" left-icon="left" leftWidth="130rpx" statusBar fixed rightWidth="130rpx"
@clickLeft="onLeftBack">
<block slot="default">
<view class="title">视频监控</view>
</block>
</uni-nav-bar>
</view>
<web-view style="margin-top: 125rpx; background-color: #fff" :webview-styles="webviewStyles"
:src="urlType"></web-view>
data数据:
<script>
export default {
data() {
return {
urlType: null,
webviewStyles: {
progress: {
color: "#FF3333"
}
},
};
},
};
</script>
核心代码:
onLoad(options) {
// #ifdef APP-PLUS
let height = 0; //定义动态的高度变量
let statusbar = 0; // 动态状态栏高度
uni.getSystemInfo({
// 获取当前设备的具体信息
success: sysinfo => {
statusbar = sysinfo.statusBarHeight;
height = sysinfo.windowHeight;
}
});
let currentWebview = this.$scope.$getAppWebview(); //获取当前web-view
setTimeout(function () {
var wv = currentWebview.children()[0];
wv.setStyle({
//设置web-view距离顶部的距离以及自己的高度,单位为px
top: statusbar + uni.upx2px(125), //此处是距离顶部的高度,应该是你页面的头部
height: height - statusbar - uni.upx2px(125), //webview的高度
scalable: false, //webview的页面是否可以缩放,双指放大缩小,
});
}, 200); //如页面初始化调用需要写延迟
// #endif
},