HarmonyOS 鸿蒙Next webview原生获取高度与网页本身高度不一致

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next webview原生获取高度与网页本身高度不一致

componentUtils.getRectangleById(“webview”).size.height 获取的web控件高度为 2454px,inspector里看高度是正确的,但是网页里面的内容html看2000px的高度就占满了,在做弹自定义键盘时滚动页面防止被遮罩的需求时,计算不准

2 回复
import web_webview from ‘@ohos.web.webview’;
@Entry
@Component
struct WebComponent {
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  @State webResult: string = ‘’
  build() {
    Column() {
      Text(this.webResult).fontSize(20)
      Web({ src: $rawfile(‘index.html’), controller: this.controller })
        .javaScriptAccess(true)
        .aspectRatio(1.5)
        .onPageEnd(e => {
          this.controller.runJavaScript(
          ‘watchWindowSize()’,
(error,result)=>{
            this.webResult=result
            let pageHeight=this.controller.getPageHeight()+’’;
            pageHeight=this.webResult;
            console.info(“webResult=”+this.webResult);
            console.info(“pageHeight=”+pageHeight);
          }
          );
        })
    }
  }
}

针对HarmonyOS鸿蒙Next webview原生获取高度与网页本身高度不一致的问题,这通常可能由以下原因引起:

  1. 布局差异:不同设备或屏幕尺寸下,页面布局可能会有所不同,导致获取的高度值有差异。请确保页面布局在不同设备上保持一致。
  2. 动态内容:如果页面内容在加载后发生变化(如异步加载数据),初次获取的高度可能不准确。建议在内容完全加载后再获取高度。
  3. CSS样式影响:某些CSS属性(如padding、margin、box-sizing等)可能影响元素的实际高度计算。请检查并调整相关样式。
  4. 系统环境:不同版本的鸿蒙系统可能存在差异,影响webview组件的行为。确保测试环境与实际运行环境一致。

可以尝试上述方法排查问题,同时确保鸿蒙系统和webview组件都更新到最新版本,以获取最佳兼容性和性能。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部