由于小程序空间有限,默认组件包中仅包含基本功能,其他 扩展 按需添加。
!> 编辑器、*markdown*、代码高亮、关键词搜索、latex 公式等属于 扩展 功能,直接获取的组件包中 不包含 这些功能
需要使用扩展功能的,参考 使用插件 的说明,通过示例小程序或 npm 打包的方式获取包含扩展功能的组件包替换原组件包,然后按照各个 扩展 插件的说明和示例进行使用
由于图片的默认 display 是 *inline-block*,多个图片连接时底部会有一条缝隙,可以通过设置 vertical-align: bottom, display:block 或 float:left 等方法去除
设置以上样式后仍有一个小缝隙的,可以进一步添加 margin-top:-1px
设置方法参考 样式设置
如果出现渲染后 html 标签还是原样显示,请检查传入的 html 是否被转义:
如果是则需要进行替换
// 第一种
html = html.replace(/</g, '<').replace(/>/g, '>') // 如果还转义了其他字符如 & 等也要进行替换
// 第二种
html = html.replace(/< img/g, '<img')
html 中,默认会将多个空白符(包括换行)合并为一个空格,若不希望如此,可参考以下方法:
替换为指定标签或实体编码
换行可以使用 br 标签
连续空格可以使用     等实体编码
html = html.replace(/\n/g, '<br>') // 替换换行符
html
<mp-html container-style="white-space:pre-wrap" />
html 中的 table 标签默认没有边框,一些编辑器有自带的表格样式,没有引入就会导致表格边框缺失,可通过以下方式解决:
给 table 标签设置 border 属性
html = html.replace(/<table/g, '<table border="1"')
若出现 图片不显示/无法预览、音频/视频无法播放 等问题,可通过以下方式检查:
如果富文本内容特别长,可以考虑以下方案:
如果富文本内容全部(或大部分)是图片,由于其图片未加载时大小为零,即使数量很多也会全部进入视图范围,导致懒加载失效,若出现这种情况,可通过以下方案解决
默认情况下,组件仅支持 a 和 img 标签的点击事件,如果希望给标签添加点击事件,又不希望应用 a 标签的默认样式,可以使用没有 href 属性的 a 标签,该标签不会应用链接的默认样式,但被点击时会触发 linktap 事件,可以在 data- 属性中记录需要的信息
本组件尽最大可能兼容低版本基础库,各平台只要满足 最低要求 即可正常使用(不报错,但高基础库支持的功能不可用),可按照实际需要设置最低基础库要求
微信:
| 版本 | 功能 | 占比 |
|---|---|---|
| 2.9.0+ | ios 支持 webp 图片 | >99.74% |
| 2.7.0+ | 支持图片长按弹出菜单 | >99.87% |
| 2.4.0+ | 支持 video 同层渲染 | >99.90% |
| 2.3.0+ | 支持使用云文件 ID | >99.98% |
| 2.2.1+ | 支持 npm 引入 | >99.99% |
| 1.9.94+ | 支持使用 ad | >99.99% |
| 1.6.6+ | 可以使用 | >99.99% |
QQ:
| 版本 | 功能 |
|---|---|
| 安卓 1.10.2+,ios 1.4.7+ | 支持 video 同层渲染 |
| 1.1.7+ | 可以使用 |
百度:
| 版本 | 功能 | 占比 |
|---|---|---|
| 3.180.1+ | ios 支持 webp 图片 | >99.04% |
| 3.170.1+ | 支持图片长按弹出菜单 | >99.19% |
| 3.90.25+ | 可以使用 | >99.99% |
3.240.10 - 3.260.25 基础库由于 此问题,需要将以下样式拷贝到 app.css 以保证正确显示
/* a 标签默认效果 */
._a {
padding: 1.5px 0 1.5px 0;
color: #366092;
word-break: break-all;
}
/* a 标签点击态效果 */
._hover {
text-decoration: underline;
opacity: 0.7;
}
/* 图片默认效果 */
._img {
max-width: 100%;
-webkit-touch-callout: none;
}
支付宝:
| 版本 | 功能 | 占比 |
|---|---|---|
| 1.11.0+ | 可以使用 | >97.95% |
头条:
| 版本 | 功能 |
|---|---|
| 1.59.0+ | 支持 video 同层渲染 |
| 1.19.0+ | 支持使用 ad |
| 1.7.0+ | 可以使用 |
!> 不支持 video 同层渲染时,需要注意原生组件的限制,视频的层级最高,且不能在 scroll-view 中使用