HarmonyOS 鸿蒙Next webview加载html高度问题

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

HarmonyOS 鸿蒙Next webview加载html高度问题

webview加载html之后,通过this.webviewController.getPageHeight()获取的高度不正确

2 回复
  

楼主您好,代码如下

import webView from '[@ohos](/user/ohos).web.webview'
[@Entry](/user/Entry)
[@Component](/user/Component)
struct WebPage {
  controller: webView.WebviewController = new webView.WebviewController();
  aaa:number=0
  build() {
    Column() {
      Web({ src: $rawfile('MainPage.html'), controller: this.controller })
        .width('100%')
        .height('100%')
        .javaScriptAccess(true)
        .domStorageAccess(true)
        .verticalScrollBarAccess(true)
        .onPageVisible(() => {
          console.info(`height1>${this.controller.getPageHeight()}`)
        })
    }
  }
}

控制台输出的结果是 05-14 18:06:13.649 5546-5546 A03d00/JSAPP com.examp…lication I height1>7643

针对HarmonyOS 鸿蒙Next webview加载html高度问题,以下是一些可能的解决方案:

  1. 检查Web组件设置

    • 确保Web组件使用了layoutMode(WebLayoutMode.FIT_CONTENT),使Web组件的大小根据页面内容自适应变化。
    • 在Scroll组件中嵌套Web组件时,设置nestedScroll属性,并合理配置其滚动行为,以支持嵌套滚动。
  2. JavaScript注入

    • 通过javaScriptOnDocumentStart注入JavaScript,确保在页面加载完成后执行相关代码,如动态调整Web组件的尺寸。
  3. 明确宽度设置

    • 确保Web组件有明确的宽度设置,宽度不明确可能导致Scroll组件的高度无法正确计算。
  4. 检查HTML内容

    • 确保加载的html内容没有额外的空白区域或未正确关闭的标签,这些都会影响Web组件的高度计算。
  5. 版本与API确认

    • 检查鸿蒙系统的版本和API文档,确认是否有相关的已知问题或更新。

如果上述方法均无法解决问题,可能是由于系统或特定环境的特殊原因。此时,可以尝试在鸿蒙系统的开发者论坛或社区中搜索类似问题的解决方案。如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部