webview 问题有哪些?

​当前使用webview组件加载远端url的做法,远端url的页面代码不能修改。

1.想要在js里获取web页面的高度,然后返回来把高度设置到arkui的webview的height属性里去,这样的话,webview组件就不会有滚动条了。如何在arkts侧获取web的高度?

2.假设问题1已经解决,当前单手在webview内上下滑动时,无法触发外层的scroll的上下滑动,如何解决?​

HarmonyOS
2024-11-05 10:45:23
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

1.在js里面监听html的高度,然后把高度值传输过来;放在arkts中的生命周期回调里面,html加载完毕的回调里面然后设置webview的高度。代码如下:

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> 
page.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); 
          } 
          ); 
        }) 
    } 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.

​2:解决思路参考:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-nested-scrolling-V5

分享
微博
QQ
微信
回复
2024-11-05 17:49:21
相关问题
提供Webview demo哪些
843浏览 • 1回复 待解决
uiTest使用问题哪些
1148浏览 • 1回复 待解决
List使用问题哪些
1205浏览 • 1回复 待解决
OAID授权问题哪些
1543浏览 • 1回复 待解决
启动页面配置问题哪些
1224浏览 • 1回复 待解决
Flutter集成问题哪些
1030浏览 • 1回复 待解决
签名证书配置问题哪些
1551浏览 • 1回复 待解决
ArkTS生成密钥问题哪些
938浏览 • 1回复 待解决
bindPopup样式问题哪些啊?
890浏览 • 1回复 待解决
Grid组件性能问题哪些
1164浏览 • 1回复 待解决
Marquee组件使用问题哪些
1105浏览 • 0回复 待解决
背景属性的问题哪些
1039浏览 • 1回复 待解决
Tab控件切换问题哪些
1164浏览 • 1回复 待解决
Tabs滑动距离的问题哪些
1317浏览 • 1回复 待解决
静态工程引用har问题哪些
1198浏览 • 1回复 待解决
Flutter刷新率问题哪些
1686浏览 • 1回复 待解决
应用性能问题优化方式哪些
1608浏览 • 1回复 待解决
HarmonyOS webView代理问题
854浏览 • 1回复 待解决
HarmonyOS webview通信问题
789浏览 • 1回复 待解决
HarmonyOS换肤方案哪些
1251浏览 • 1回复 待解决
MongoDB的优势哪些
5163浏览 • 1回复 待解决
OceanBase业务案例哪些
4539浏览 • 1回复 待解决