Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lzb_79
uni-app
提交
936382fa
U
uni-app
项目概览
lzb_79
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
936382fa
编写于
9月 26, 2021
作者:
M
mehaotian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(h5): 修复 rich-text 组件无法渲染 section 等标签的问题
上级
f9f2e773
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
155 addition
and
133 deletion
+155
-133
packages/uni-components/src/components/rich-text/nodes-parser.js
...s/uni-components/src/components/rich-text/nodes-parser.js
+155
-133
未找到文件。
packages/uni-components/src/components/rich-text/nodes-parser.js
浏览文件 @
936382fa
...
...
@@ -3,9 +3,18 @@ import { hasOwn, isPlainObject } from '@vue/shared'
const
TAGS
=
{
a
:
''
,
abbr
:
''
,
address
:
''
,
article
:
''
,
aside
:
''
,
b
:
''
,
bdi
:
''
,
bdo
:
[
'
dir
'
],
big
:
''
,
blockquote
:
''
,
br
:
''
,
caption
:
''
,
center
:
''
,
cite
:
''
,
code
:
''
,
col
:
[
'
span
'
,
'
width
'
],
colgroup
:
[
'
span
'
,
'
width
'
],
...
...
@@ -16,12 +25,15 @@ const TAGS = {
dt
:
''
,
em
:
''
,
fieldset
:
''
,
font
:
''
,
footer
:
''
,
h1
:
''
,
h2
:
''
,
h3
:
''
,
h4
:
''
,
h5
:
''
,
h6
:
''
,
header
:
''
,
hr
:
''
,
i
:
''
,
img
:
[
'
alt
'
,
'
src
'
,
'
height
'
,
'
width
'
],
...
...
@@ -29,21 +41,31 @@ const TAGS = {
label
:
''
,
legend
:
''
,
li
:
''
,
mark
:
''
,
nav
:
''
,
ol
:
[
'
start
'
,
'
type
'
],
p
:
''
,
pre
:
''
,
q
:
''
,
rt
:
''
,
ruby
:
''
,
s
:
''
,
section
:
''
,
small
:
''
,
span
:
''
,
strong
:
''
,
sub
:
''
,
sup
:
''
,
table
:
[
'
width
'
],
tbody
:
''
,
td
:
[
'
colspan
'
,
'
rowspan
'
,
'
height
'
,
'
width
'
],
td
:
[
'
colspan
'
,
'
height
'
,
'
rowspan
'
,
'
width
'
],
tfoot
:
''
,
th
:
[
'
colspan
'
,
'
rowspan
'
,
'
height
'
,
'
width
'
],
th
:
[
'
colspan
'
,
'
height
'
,
'
rowspan
'
,
'
width
'
],
thead
:
''
,
tr
:
''
,
ul
:
''
tr
:
[
'
colspan
'
,
'
height
'
,
'
rowspan
'
,
'
width
'
],
tt
:
''
,
u
:
''
,
ul
:
''
,
}
const
CHARS
=
{
amp
:
'
&
'
,
...
...
@@ -51,14 +73,13 @@ const CHARS = {
lt
:
'
<
'
,
nbsp
:
'
'
,
quot
:
'
"
'
,
apos
:
"
'
"
apos
:
"
'
"
,
}
function
decodeEntities
(
htmlString
)
{
return
htmlString
.
replace
(
/&
(([
a-zA-Z
]
+
)
|
(
#x
{0,1}[\d
a-zA-Z
]
+
))
;/gi
,
function
(
match
,
stage
)
{
return
htmlString
.
replace
(
/&
(([
a-zA-Z
]
+
)
|
(
#x
{0,1}[\d
a-zA-Z
]
+
))
;/gi
,
function
(
match
,
stage
)
{
if
(
hasOwn
(
CHARS
,
stage
)
&&
CHARS
[
stage
])
{
return
CHARS
[
stage
]
}
...
...
@@ -71,11 +92,12 @@ function decodeEntities(htmlString) {
const
wrap
=
document
.
createElement
(
'
div
'
)
wrap
.
innerHTML
=
match
return
wrap
.
innerText
||
wrap
.
textContent
})
}
)
}
export
default
function
parseNodes
(
nodes
,
parentNode
)
{
nodes
.
forEach
(
function
(
node
)
{
nodes
.
forEach
(
function
(
node
)
{
if
(
!
isPlainObject
(
node
))
{
return
}
...
...
@@ -94,7 +116,7 @@ export default function parseNodes(nodes, parentNode) {
const
attrs
=
node
.
attrs
if
(
isPlainObject
(
attrs
))
{
const
tagAttrs
=
TAGS
[
tagName
]
||
[]
Object
.
keys
(
attrs
).
forEach
(
function
(
name
)
{
Object
.
keys
(
attrs
).
forEach
(
function
(
name
)
{
let
value
=
attrs
[
name
]
switch
(
name
)
{
case
'
class
'
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录