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

AEM 6.5页面属性Cancel按钮首次点击失效问题求助

AEM 6.5 页面属性Cancel按钮失效问题解决方案

问题现象

  • 页面属性(Page Properties)的Cancel按钮点击后无法返回编辑器视图,停留在属性页
  • 清除Session Storage和Cookies后首次打开任意页面的属性时,按钮的href指向当前属性页URL(而非返回地址),触发报错
  • 通过浏览器返回后再次打开页面属性,按钮功能恢复正常
  • 仅影响带Spring4Shell修复的AEM 6.5 SP11/SP12版本,AEM 6.5 SP7无此问题

按钮对应元素代码

<coral-actionbar-item class="coral3-ActionBar-item">
<a id="shell-propertiespage-closeactivator" class="betty-ActionBar-item foundation-fixedanchor foundation-backanchor coral3-Button coral3-Button--quiet" href="https://author-instance/mnt/overlay/wcm/core/content/sites/properties.html?item=%2Fcontent%2Fsomethi..." is="coral-anchorbutton" variant="quiet" data-foundation-backanchor-form="cq-sites-properties-form" size="M" role="button" aria-disabled="false"><coral-anchorbutton-label>Cancel</coral-anchorbutton-label></a>
</coral-actionbar-item>

解决方案建议

1. 修复Foundation Backanchor组件URL生成逻辑

该问题源于Spring4Shell修复后,AEM的foundation-backanchor组件URL参数处理逻辑变更,导致首次加载时无法正确获取上一页的referrer地址。可通过以下方式修复:

  • 自定义覆盖/libs/wcm/core/content/sites/properties.html中的Cancel按钮配置,手动指定返回地址的获取逻辑
  • 检查AEM的com.adobe.granite.foundation.backanchor相关OSGi配置,确认是否有参数限制导致referrer解析失败

2. 前端JS临时修复

通过自定义JS在页面属性加载完成后修正Cancel按钮的href,确保指向正确的返回地址:

document.addEventListener('DOMContentLoaded', function() {
  const cancelBtn = document.getElementById('shell-propertiespage-closeactivator');
  // 检测href是否指向属性页自身
  if (cancelBtn && cancelBtn.href.includes('/mnt/overlay/wcm/core/content/sites/properties.html')) {
    // 优先使用有效referrer,无效则直接触发返回逻辑
    const validReferrer = document.referrer && !document.referrer.includes('/properties.html') ? document.referrer : null;
    if (validReferrer) {
      cancelBtn.href = validReferrer;
    } else {
      cancelBtn.addEventListener('click', function(e) {
        e.preventDefault();
        window.history.back();
      });
    }
  }
});

将上述代码打包到项目的clientlib中,并配置为加载到页面属性Overlay的clientlib类别(如cq.wcm.edit)。

3. 升级AEM版本

Adobe在后续的Service Pack版本中已修复该兼容性问题,建议升级到AEM 6.5 SP13及以上版本(需确认版本已包含Spring4Shell安全修复)。

4. 检查代理/CDN配置

若环境使用反向代理或CDN,确认代理未修改Referer请求头或URL参数,避免foundation-backanchor组件无法正确解析返回地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:07:42