HarmonyOS webview加载本地html问题-鸿蒙开发者社区-51CTO.COM

HarmonyOS webview加载本地html问题

问题1:webview加载本地html时,<html><body style="margin: 0;"><p style='color: rgba(188, 53, 41, 1)'>一行</p></body></html>可以正常加载出来,<html><body style="margin: 0;"><p style='color: #BC3529'>一行</p></body></html> 不能正常加载。两个字符串的唯一区别是:‘color: rgba(188, 53, 41, 1)’和’color: #BC3529’

问题2: Web根据内容自适应时,即:layoutMode(WebLayoutMode.FIT_CONTENT)需要作为Scroll的子控件里才能生效,直接作为Column的子控件无法正常展示,这是设计如此吗?

代码如下:

@Entry 
@Component 
struct PushIndex { 
  controller: web_webview.WebviewController = new web_webview.WebviewController(); 
 
  text = `<html><body style="margin: 0;"><p style='color: #BC3529'>一行</p></body></html>` 
 
  build() { 
    Column() { 
      Scroll(){ 
        Web({ src: '', controller: this.controller }) 
          .width('100%') 
          .layoutMode(WebLayoutMode.FIT_CONTENT) 
          .onControllerAttached(()=>{ 
            this.controller.loadData(this.text,"text/html","UTF-8") 
          }) 
      } 
    } 
    .height('100%') 
  } 
}
HarmonyOS
2024-11-06 11:51:29
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​1、loaddata使用不同的参数会有不同的效果,如果参数不对可能会造成白屏现象。如果html中存在非法字符,例如css中的color:"#333",有"#“的时候会加载不了,需要使用文档中提供的加载本地资源的方法,后面两个参数要复制空格” “,” "。具体实现可参考loadData:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-webview-V5#loaddata

2、Scroll,可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动。​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-container-scroll-V5​。建议将内容比较长的页面放在scroll中。​

分享
微博
QQ
微信
回复
2024-11-06 16:10:16
相关问题
HarmonyOS webview如何加载沙箱html
327浏览 • 1回复 待解决
HarmonyOS webview组件如何加载html代码?
353浏览 • 1回复 待解决
HarmonyOS 本地html传参问题
129浏览 • 1回复 待解决
HarmonyOS Web组件加载html文件异常
407浏览 • 1回复 待解决
如何解决webview离线加载白屏问题
1128浏览 • 1回复 待解决
鸿蒙是否支持加载HTML
12583浏览 • 3回复 待解决
HarmonyOS 本地webView跨域方案
585浏览 • 1回复 待解决
webview 如何显示纯文本html内容?
1893浏览 • 1回复 待解决
HarmonyOS html富文本显示问题
759浏览 • 1回复 待解决
HarmonyOS 本地加载数据太卡顿
144浏览 • 1回复 待解决
HarmonyOS Web组件如何加载html字符串
481浏览 • 1回复 待解决
HarmonyOS webview如何播放本地沙箱视频
1402浏览 • 1回复 待解决