HarmonyOS 鸿蒙Next web组件高度问题
HarmonyOS 鸿蒙Next web组件高度问题
WEB组件在获取高度后出现的性能问题 由于web的展示内容是等本地html加载完成后调用js方法加载web的实际内容的,this.webviewController.getPageHeight()是无法获取实际高度,实测web传入多少this.webviewController.getPageHeight()返回多少…于是自己写了个JS方法getWebHeightCustom获取页面高度。目前遇到的问题是,在获取高度后,如果页面高度不是很高,网页可以正常加载,一旦页面高于1000,页面开始割裂,加载一部分后,web下面空白,继续下拉,页面黑屏,死机。是一个列表嵌套问题,nestedScroll属性无法达到预期效果,只能计算页面高度。 Web列表嵌套
2 回复
可以参考这个demo 查看如何获取web组件高度
针对HarmonyOS 鸿蒙Next中Web组件高度问题,以下是一些专业的解决方案:
-
检查NestedScroll属性:
- 在Scroll组件中嵌套Web组件时,确保使用了nestedScroll属性,并适当设置scrollForward和scrollBackward属性,以支持嵌套滚动。
-
设置Web组件的layoutMode:
- 使用WebLayoutMode.FIT_CONTENT模式,该模式理论上应使Web组件高度自适应内容。
-
JavaScript注入:
- 通过javaScriptOnDocumentStart注入JavaScript,确保在页面加载完成后执行相关代码,如动态调整Web组件的尺寸。
-
动态调整高度:
- 如果以上方法无效,可考虑通过JavaScript在Web内容加载完毕后,动态获取内容的高度,并通过鸿蒙的通信接口将高度值传递给ArkTS端,进而调整Web组件的高度。
-
检查其他属性设置:
- 确保Web组件和Scroll组件的其他属性设置正确,如宽度、边距等,这些都可能影响高度的自适应。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。