HarmonyOS 鸿蒙Next web组件高度问题

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

HarmonyOS 鸿蒙Next web组件高度问题

WEB组件在获取高度后出现的性能问题 由于web的展示内容是等本地html加载完成后调用js方法加载web的实际内容的,this.webviewController.getPageHeight()是无法获取实际高度,实测web传入多少this.webviewController.getPageHeight()返回多少…于是自己写了个JS方法getWebHeightCustom获取页面高度。目前遇到的问题是,在获取高度后,如果页面高度不是很高,网页可以正常加载,一旦页面高于1000,页面开始割裂,加载一部分后,web下面空白,继续下拉,页面黑屏,死机。是一个列表嵌套问题,nestedScroll属性无法达到预期效果,只能计算页面高度。 Web列表嵌套

2 回复

可以参考这个demo 查看如何获取web组件高度

https://gitee.com/harmonyos_samples/WebpageSnapShot

针对HarmonyOS 鸿蒙Next中Web组件高度问题,以下是一些专业的解决方案:

  1. 检查NestedScroll属性

    • 在Scroll组件中嵌套Web组件时,确保使用了nestedScroll属性,并适当设置scrollForward和scrollBackward属性,以支持嵌套滚动。
  2. 设置Web组件的layoutMode

    • 使用WebLayoutMode.FIT_CONTENT模式,该模式理论上应使Web组件高度自适应内容。
  3. JavaScript注入

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

    • 如果以上方法无效,可考虑通过JavaScript在Web内容加载完毕后,动态获取内容的高度,并通过鸿蒙的通信接口将高度值传递给ArkTS端,进而调整Web组件的高度。
  5. 检查其他属性设置

    • 确保Web组件和Scroll组件的其他属性设置正确,如宽度、边距等,这些都可能影响高度的自适应。

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

回到顶部