webview 问题有哪些?

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

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

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

HarmonyOS
3天前
浏览
收藏 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); 
          } 
          ); 
        }) 
    } 
  } 
}

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

分享
微博
QQ
微信
回复
3天前
相关问题
提供Webview demo哪些
31浏览 • 1回复 待解决
OAID授权问题哪些
139浏览 • 1回复 待解决
List使用问题哪些
212浏览 • 1回复 待解决
签名证书配置问题哪些
313浏览 • 1回复 待解决
ArkTS生成密钥问题哪些
214浏览 • 1回复 待解决
启动页面配置问题哪些
378浏览 • 1回复 待解决
Marquee组件使用问题哪些
166浏览 • 0回复 待解决
Grid组件性能问题哪些
307浏览 • 1回复 待解决
Tab控件切换问题哪些
117浏览 • 1回复 待解决
背景属性的问题哪些
305浏览 • 1回复 待解决
bindPopup样式问题哪些啊?
313浏览 • 1回复 待解决
静态工程引用har问题哪些
270浏览 • 1回复 待解决
Tabs滑动距离的问题哪些
184浏览 • 1回复 待解决
Flutter刷新率问题哪些
423浏览 • 1回复 待解决
应用性能问题优化方式哪些
280浏览 • 1回复 待解决
HarmonyOS换肤方案哪些
273浏览 • 1回复 待解决
OceanBase业务案例哪些
3582浏览 • 1回复 待解决
ArkUI调试技巧哪些
577浏览 • 1回复 待解决
GlobalThis替代方案哪些
764浏览 • 1回复 待解决
MongoDB的优势哪些
4026浏览 • 1回复 待解决
PolarDB 备份过程哪些
2471浏览 • 1回复 待解决
HarmonyOS 换肤方案哪些
119浏览 • 1回复 待解决
Flutter 热重载方法哪些
202浏览 • 1回复 待解决