HarmonyOS 如何实现webView作为Listitem时准确获取webView高度

如题,项目中需要实现加载html文本数据,webView作为Listitem需要按照webView实际高度动态设置Listitem高度,请问怎样获取高度,且webView加载完成的回调函数是哪个,有没有相关的文档?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

1、加载完成、查看【Web组件的生命周期】onPageEnd https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-event-sequence-V5

2、获取webView高度,可以参考下面的方法, 或者通过 getPageHeight获取高度 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#getpageheight

// index.html
<!DOCTYPE html>
  <html>
  <body>
  <p>
  <h1>1111111111</h1>
  <h2>1111111111</h2>
  <h2>1111111111</h2>
  </p>
  </body>
  <script type="text/javascript">
  function watchWindowSize(){
    var h = document.body.clientHeight;
    return h; }
  </script>
  </html>
  // xxx.ets
  import web_webview from '@ohos.web.webview';


@Entry
@Component
struct WebHeightPage {
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  @State webResult: number = 10
  @State pageHeight: number = 10;
  build() {
    Column() {
      Text(this.webResult.toString()).fontSize(20)
      Web({ src: $rawfile('index.html'), controller: this.controller })
        .javaScriptAccess(true)
        .onPageEnd(e => {
          this.controller.runJavaScript(
            'watchWindowSize()',
            (error, result) => {
              this.webResult = Number(result)
              // 通过getPageHeigh获取
              let pageHeight = this.controller.getPageHeight();
              pageHeight = this.webResult;
              console.info('webResult=' + this.webResult);
              console.info('pageHeight=' + pageHeight);
            }
          );
        })
        .width('100%')
        .height(this.webResult )
    }
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何获取Webview的宽高
52浏览 • 1回复 待解决
WebView 如何实现长截图
1261浏览 • 1回复 待解决
webview如何实现charles抓包
1182浏览 • 1回复 待解决
HarmonyOS 获取webview中的cookie
74浏览 • 1回复 待解决
webview如何实现网络请求拦截功能
2261浏览 • 1回复 待解决
HarmonyOS webview如何调试?
466浏览 • 1回复 待解决
HarmonyOS WebView实现同层渲染资料
391浏览 • 1回复 待解决
HarmonyOS webview浏览器获取定位异常
107浏览 • 1回复 待解决
WebView支持设置WebView圆角吗?
950浏览 • 1回复 待解决
HarmonyOS webview如何设置sessionStorage
16浏览 • 1回复 待解决
HarmonyOS webview如何生成pdf
20浏览 • 1回复 待解决