You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Confluence Data Center用户宏异常:页面内容被渲染至宏DOM内

修复Confluence嵌套Expand用户宏的内容嵌套问题

核心问题原因

你遇到的问题本质是Confluence宏渲染逻辑导致的:如果用户宏的Body Type未正确设置,或者宏输出的DOM结构存在未闭合标签,编辑器会错误将宏之后的页面内容识别为宏的一部分,渲染到宏的DOM内部;再加上绝对定位让元素脱离文档流,进一步加剧了结构混淆。

具体修复步骤

1. 修正用户宏的Body Type设置

这是最关键的一步:

  • 进入Confluence「用户宏管理」页面,找到你的自定义宏
  • 编辑宏定义,在「Body Type」下拉菜单中选择None
  • 保存宏设置,彻底切断宏与后续内容的关联,避免Confluence将宏后的内容当作宏的body处理

2. 确保宏输出的DOM结构完全闭合

检查宏代码,确保所有HTML标签和嵌套的Confluence宏标签都正确闭合,示例代码如下:

<div style="position: absolute; top: 16px; right: 16px; z-index: 999; background: #fff; border: 1px solid #ccc; padding: 8px;">
  <ac:structured-macro ac:name="expand">
    <ac:parameter ac:name="title">我的折叠面板</ac:parameter>
    <ac:rich-text-body>
      这里是折叠面板的内容
    </ac:rich-text-body>
  </ac:structured-macro>
</div>
<!-- 添加空块级元素明确分隔后续内容 -->
<div style="display: block; height: 0; width: 100%;"></div>

3. 排查Velocity模板逻辑错误(如果使用了Velocity)

如果宏是用Velocity编写的,检查是否有条件分支(如#if/#else)导致标签未闭合的情况——比如某分支里打开了div但未在对应分支闭合,会让Confluence渲染引擎错误地将后续内容补到未闭合标签内。

验证修复

修改后,编辑页面插入宏并添加后续文本内容,切换到预览模式或发布页面,确认内容是否独立显示在宏下方,而非嵌套到宏的DOM元素内部。

内容的提问来源于stack exchange,提问作者emotionalDamage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:01:06