HarmonyOS鸿蒙Next中WebView无法展示含有color属性的font标签

HarmonyOS鸿蒙Next中WebView无法展示含有color属性的font标签 WebView 无法显示 学习包开具发票后,将不再提供不过全退/升级服务。

3 回复

若html中的富文本中带有注入#等特殊字符,建议使用带有两个空格的loadData函数,将baseUrl和historyUrl置为空。

示例:

import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry
@Component
struct WebColor {
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  build() {
    Column() {
      Button('loadData')
        .onClick(() => {
          try {
            this.controller.loadData(
              `<html>
                <header>
                  <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'>
                </header>
                <body bgcolor="white">
                  <font color='#c24f4a' size='5'>学习包开具发票后,将不再提供不过全退/升级服务。</font>
                </body>
              </html>`,
              "text/html",
              "UTF-8",
              " ",
              " "
            );
          } catch (error) {
            let e: business_error.BusinessError = error as business_error.BusinessError;
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`);
          }
        })
      Web({ src: 'www.example.com', controller: this.controller })
    }
  }
}

更多关于HarmonyOS鸿蒙Next中WebView无法展示含有color属性的font标签的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,WebView无法展示含有color属性的<font>标签,可能与该系统对HTML标准的支持有关。鸿蒙Next的WebView基于特定的Web引擎实现,可能不完全支持一些过时的HTML标签或属性。<font>标签在HTML5中已被废弃,推荐使用CSS进行样式控制。如果WebView未正确解析<font>标签的color属性,可能是引擎未兼容旧标准或存在渲染问题。建议检查WebView的HTML内容是否符合现代标准,并尝试使用CSS替代<font>标签。

在HarmonyOS鸿蒙Next中,如果WebView无法展示含有color属性的<font>标签,可能是由于以下原因:

  1. HTML5标准兼容性:<font>标签在HTML5中已被弃用,建议使用CSS来控制文本样式。WebView可能未完全支持该标签。

  2. WebView配置:检查WebView的配置,确保启用了对旧标签的支持。可以通过WebSettings调整相关设置。

  3. CSS样式冲突:确保全局CSS样式未覆盖<font>标签的color属性。

建议替换为现代HTML和CSS写法,如:<span style="color: red;">文本</span>

回到顶部