HarmonyOS web如何获取html内容高度

we组件如何获取html 的高度

HarmonyOS
2025-01-09 17:26:00
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以在js里面监听html的高度,然后把高度值传输过来;放在ArkTS中的生命周期回调里面,html加载完毕的回调里面然后设置webview的高度。

参考demo:

// index.ets
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);
          }
          );
        })
    }
  }
}
// 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>
分享
微博
QQ
微信
回复
2025-01-09 20:01:30
相关问题
HarmonyOS Web如何搜索html界面的内容
493浏览 • 1回复 待解决
HarmonyOS web高度自适应内容高度
576浏览 • 1回复 待解决
HarmonyOS webView如何获取整体内容高度
215浏览 • 1回复 待解决
预览器上WEB组件无法显示HTML内容
3026浏览 • 1回复 待解决
HarmonyOS web组件怎么获取html页面标题
150浏览 • 1回复 待解决
webview 如何显示纯文本html内容
2517浏览 • 1回复 待解决
Web组件获取高度不一样
2698浏览 • 1回复 待解决
HarmonyOS Web组件如何加载html字符串
1221浏览 • 1回复 待解决
HarmonyOS Web无法访问指定html
590浏览 • 1回复 待解决
HarmonyOS Web组件加载html文件异常
1032浏览 • 1回复 待解决