鸿蒙APP在uni-app中rich-text这个标签会导致页面白屏
鸿蒙APP在uni-app中rich-text这个标签会导致页面白屏
| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC版本号 | 26.1 |
| 开发工具 | HBuilderX |
| 工具版本 | 4.86 |
| 手机系统 | HarmonyOS NEXT |
| 系统版本 | HarmonyOS 6.0.0 |
| 手机厂商 | 华为 |
| 手机机型 | nova14 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
<template>
<view>
测试内容
<rich-text
nodes='<style type="text/css"> .STYLE1 { font-family: Source Han Sans SC; font-size: 14px; } </style><img width="100%" src="https://img.officemate.cn/public/images/8d/f4/d0/0a95ac5e3ec990f9ef739b3107d21df168a8cf02.jpg"/>'
style="font-size: 24rpx"
></rich-text>
</view>
</template>
操作步骤:
- 已提交测试代码
预期结果:
- 页面不白屏
实际结果:
- 页面白屏
bug描述:
rich-text标签内,如果nodes节点包含<style>标签,会导致整个页面白屏,无报错
更多关于鸿蒙APP在uni-app中rich-text这个标签会导致页面白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
整个APP都会卡死
更多关于鸿蒙APP在uni-app中rich-text这个标签会导致页面白屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙系统(HarmonyOS NEXT)上,uni-app的rich-text组件确实存在与<style>标签相关的兼容性问题。根据你的代码和描述,问题核心在于鸿蒙原生渲染引擎对嵌套HTML样式的解析限制。
原因分析:
- 鸿蒙的
rich-text实现基于系统WebView,但可能对非标准HTML片段(如内联<style>)支持不完善 - 样式标签中的CSS语法(如字体声明
font-family: Source Han Sans SC)可能触发鸿蒙渲染引擎的解析异常 - 白屏是由于样式解析失败导致整个WebView容器崩溃,而非JS执行错误
解决方案:
- 移除内联样式(推荐):
<rich-text
nodes='<img width="100%" src="https://img.officemate.cn/public/images/8d/f4/d0/0a95ac5e3ec990f9ef739b3107d21df168a8cf02.jpg"/>'
style="font-size: 24rpx">
</rich-text>
- 使用全局样式替代: 在App.vue或页面style中定义:
.rich-text-style {
font-family: 'Source Han Sans SC';
font-size: 14px;
}
- 条件编译处理:
<template>
<view>
<!-- #ifdef HARMONY -->
<image mode="widthFix" :src="imgUrl"></image>
<!-- #else -->
<rich-text :nodes="htmlContent"></rich-text>
<!-- #endif -->
</view>
</template>

