Azure DevOps描述字段HTML结构变更规则及一致性保障咨询
Azure DevOps描述字段HTML编辑后的结构变更规则与解决方案
一、编辑器的HTML处理规则
Azure DevOps的富文本编辑器在手动编辑时会对输入的HTML做标准化和安全处理,具体规则如下:
- 移除自定义ID/Class属性:编辑器会过滤掉所有自定义的
id、class属性,目的是避免用户自定义样式与平台内置样式冲突,同时降低HTML注入风险。 - 样式块转为行内样式:独立的
<style>标签不会被保留,编辑器会解析其中的样式规则,将对应的样式直接转为元素的行内style属性。 - HTML结构自动补全:会自动修正不完整的HTML结构,比如给表格自动添加
<tbody>标签,确保HTML符合标准规范。
你提供的自动输入内容:
<div id="automaticInput"> <div class="category">Category 1: </div><br> <table> <tr> <td class="text">Some information about the item. </td> <td class="comment"> </td> </tr> </table><br> </div> <style> /*Some style*/ </style>
手动编辑后,编辑器按照上述规则处理,得到的结果:
<div> <div>Category 1: </div><br> <table style="border-collapse:collapse;width:100%;table-layout:fixed;"> <tbody> <tr> <td style="vertical-align:top;text-align:left;width:80%;padding:10px;">Some information about the item. <br>Some new changes </td> <td style="vertical-align:top;text-align:left;padding:10px;border:1px solid rgb(221, 221, 221);background-color:beige;width:20%;"> </td> </tr> </tbody> </table><br> </div>
二、保持HTML结构一致性的方法
目前没有直接关闭编辑器HTML过滤的官方设置,但可以通过以下方式规避结构变更:
- 优先通过API更新:如果需要保持原始HTML结构,尽量避免手动编辑,全程使用REST API进行批量或自动更新,API写入的内容不会触发编辑器的过滤逻辑(除非后续手动打开编辑)。
- 提前使用行内样式:不要使用独立的
<style>标签,提前将样式直接写为元素的行内style属性,这样编辑器不会对样式做转换。 - 避免依赖自定义ID/Class:由于编辑器会移除这些属性,设计HTML时不要依赖
id或class来控制样式或逻辑,直接用行内样式和标准HTML结构实现需求。
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

