浏览器解析html时的容错处理方案2

 

经过分析,浏览器解析html时的容错处理可以给出以下三种通用方法:


 

1.容错处理:分断(split)
作用:分断和父元素不相容的子元素,形成同级元素
如<p>中的<p>需要分断


 

2.容错处理:移动(move)
作用:移动固定格式父元素中违反格式的子元素到外层
以table为例:
内层: table的子层
外层: table的前向兄弟元素层(table->up_brother_elem)
<table>中直接的<font>,text需要移动到外层(<td>中的除外)
<table>---<tr>中的<font>,text需要移动到外层


 

3.容错处理:移除(remove)

作用:移除和父元素不相容的子元素
如<body>中的<tr>需要移除

 


要形成通用方法,必须在3中方法的判断条件中使用判定规则,

以决定父元素和哪些子元素不相容,又或者父元素中哪些元素需要移动,等情况。

posted @ 2012-05-23 08:56  cymheart  阅读(248)  评论(0)    收藏  举报