同版本2.315的两个Jenkins实例任务描述HTML表格边框不显示求助
Jenkins同版本实例HTML表格边框不显示问题排查方案
1. 优先检查标记格式器配置
这是90%以上同类问题的根因,两个实例核心版本一致不代表全局安全配置完全相同:
- 配置路径:
Manage Jenkins->Configure Global Security-> 定位到Markup Formatter区块 - 差异排查:如果旧实例选择的是Raw HTML(允许任意HTML渲染),新实例选择的是Safe HTML,Safe HTML默认的标签属性白名单会直接剥离
table标签的border属性,导致边框不显示。 - 修复方案二选一:
- 方案1(有安全风险):将新实例的标记格式器也调整为Raw HTML,允许所有HTML内容直接渲染,适合内网隔离、无外部用户访问的Jenkins实例使用
- 方案2(更安全):保留Safe HTML配置,修改表格写法,用内联样式声明边框,示例:
<table style="border: 1px solid #ddd; border-collapse: collapse;">,内联样式属于Safe HTML默认允许的属性范围,无需调整白名单规则
2. 检查格式化相关插件版本差异
如果标记格式器配置完全一致,排查两个实例的插件安装差异:
- 重点核对
OWASP Markup Formatter(提供Safe HTML格式化能力的官方插件)的版本是否一致,不同版本的默认属性白名单规则可能存在差异,哪怕Jenkins核心版本相同 - 排查是否存在其他第三方内容渲染、主题类插件,比如自定义主题插件可能自带全局CSS规则覆盖表格边框样式
3. 前端样式对比排查
如果上述配置均无差异,用浏览器开发者工具定位样式问题:
- 打开新实例任务描述页,按F12启动开发者工具,选中无框的表格元素,查看样式面板中
border相关规则:- 如果元素源码中本身不存在
border属性,说明是服务端渲染时被格式化规则过滤,回到前两步排查配置 - 如果源码中存在
border属性但被划掉,说明存在优先级更高的全局CSS覆盖了边框规则,排查新实例的全局自定义CSS、主题插件配置即可
- 如果元素源码中本身不存在
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

