SAP Spartacus Paragraph组件SmartEdit富文本内联样式被清除问题
问题答复
是否为OOTB预期行为
这是Spartacus + Angular 技术栈的默认预期行为。Angular 框架为防范XSS跨站脚本攻击,默认会对通过[innerHTML]绑定的HTML内容做自动安全清理,内联样式、事件绑定属性、高危HTML标签都会被默认移除。Spartacus OOTB的Paragraph组件直接使用Angular默认的[innerHTML]绑定渲染富文本内容,没有额外添加富文本信任逻辑,因此会出现内联样式被移除的情况。
是否为安装配置操作失误
不属于安装或配置错误。你描述的复现流程、核查结果都符合标准安装的正常表现:后台接口返回内容包含内联样式,说明SmartEdit的保存、后台存储逻辑均正常运行,问题仅出在前端渲染阶段的Angular默认安全策略,和项目安装、配置操作无关。
大量富文本组件是否需要逐一扩展适配
不需要全部单独扩展,可根据项目使用场景选择更高效的方案:
- 若仅少数组件需要保留内联样式:可以使用你提到的
SafeHtmlPipe方案,单独扩展对应OOTB组件,在渲染富文本的位置应用管道即可。 - 若项目存在大量需要保留富文本样式的场景:可以封装一个通用的富文本渲染组件,统一处理DomSanitizer的信任逻辑,所有需要展示后台返回富文本的位置都复用该通用组件,无需逐一扩展OOTB组件。
内容的提问来源于stack exchange,提问作者Consta Gorgan
相关产品推荐
相关产品推荐

