当前位置: 首页 > news >正文

App使用webview套壳引入h5(二)—— app内访问h5,顶部被手机顶部菜单遮挡问题,保留顶部安全距离

引入webview的页面添加safeAreaInsets,对weview的webviewStyles做处理
在myApp中改造

entry.vue代码如下

template><view class="entry-page" :style="{ paddingTop: safeAreaInsets.top + 'px' }"><web-view :webview-styles="webviewStyles" :src="webviewUrl" @message="getH5Message" ref="webViewRef"></web-view></view>
</template><script>
export default {data() {return {statusBarHeight: 100,safeAreaInsets: {},webviewUrl: 'myLink', hasBottomSafeArea: false,webviewStyles: {progress: {color: '#007aff',top: 0},// iOS侧滑返回配置ios: {allowsBackForwardNavigationGestures: true, // 启用WKWebView侧滑手势bounces: false // 禁用弹性效果}},webview: '',isIOS: false,          // 判断是否为iOS设备webviewCanBack: false  // WebView是否可返回};},onLoad(options) {// #ifdef APP-PLUSthis.isIOS = uni.getSystemInfoSync().platform === 'ios'; // 检测iOS设备let _this = this;let height = 0;let statusbar = 0;const sysInfo = uni.getSystemInfoSync();this.safeAreaInsets = sysInfo.safeAreaInsets; //获取顶部安全距离console.log('top--------', sysInfo);this.statusBarHeight = sysInfo.statusBarHeight;height = sysInfo.windowHeight;let currentWebview = this.$scope.$getAppWebview();setTimeout(() => {var wv = currentWebview.children()[0];console.log('top--------222222222', _this.statusBarHeight);wv.setStyle({top: _this.statusBarHeight, //给weview设置顶部安全距离height: height - _this.statusBarHeight,scalable: false //禁止缩放}, 200);// #endif}
}
</script><style>
.entry-page {background-color: #f8f8f8;
}.webview-container {flex: 1;width: 100%;
}
</style>
http://www.lqws.cn/news/145261.html

相关文章:

  • nano编辑器的详细使用教程
  • 结合PDE反应扩散方程与物理信息神经网络(PINN)进行稀疏数据预测的技术方案
  • Spring Boot + MyBatis 集成支付宝支付流程
  • GIT - 如何从某个分支的 commit创建一个新的分支?
  • Arduino学习-按键灯
  • 智慧充电:新能源汽车智慧充电桩的发展前景受哪些因素影响?
  • ros2--图像/image
  • 各种排序算法的再整理
  • 新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
  • Java转Go日记(六十):gin其他常用知识
  • Angular报错:cann‘t bind to ngClass since it is‘t a known property of div
  • 电路图识图基础知识-自耦变压器降压启动电动机控制电路(十六)
  • 洛谷题目:P2761 软件补丁问题 (本题简单)
  • SD系列I/O接口cRBX01 2VAA008424R1
  • JavaSec-SSTI - 模板引擎注入
  • 深度学习学习率优化方法——pytorch中各类warm up策略
  • 桂花网蓝牙网关物联网医院动态血糖管理应用案例
  • Vue.js 组件:深入理解与实践
  • Spring Boot缓存组件Ehcache、Caffeine、Redis、Hazelcast
  • 使用 C/C++ 和 OpenCV 添加图片水印
  • Android协程学习
  • 负载均衡将https请求转发后端http服务报错:The plain HTTP request was sent to HTTPS port
  • 模块化架构下的前端调试体系建设:WebDebugX 与多工具协同的工程实践
  • 【图像处理3D】:焦距的像素单位标定
  • 深入浅出 Scrapy:打造高效、强大的 Python 网络爬虫
  • Xcode 16.4 + iOS 18 系统运行时崩溃:___cxa_current_primary_exception 符号丢失的原因与解决方案
  • 基于cornerstone3D的dicom影像浏览器 第二十八章 LabelTool文字标记,L标记,R标记及标记样式设置
  • AMFCNN-RKD:齿轮故障诊断的轻量级多传感器融合模型详解(python代码复现)
  • STM32 NVIC中断控制器
  • 鸿蒙APP测试实战:从HDC命令到专项测试