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

Episerver CMS 11中TinyMCE编辑器是否支持插入abbr标签

Episerver 11 版本 TinyMCE 支持abbr标签实现方案

Episerver 11.15.1.0 + EPiServer.UI 11.25.0.0 环境下默认未开放abbr标签插入入口,但完全可以通过自定义配置实现,不需要修改编辑器核心。

具体实现步骤

  • 配置标签白名单,避免内容被过滤
    Episerver默认会对TinyMCE提交的内容做标签清洗,首先需要把abbr标签及所需属性加入允许列表,防止保存内容时标签被自动剔除。在站点中新增继承IInitializableModule的TinyMCE初始化扩展类,代码参考如下:
[InitializableModule]
[ModuleDependency(typeof(TinyMceInitialization))]
public class CustomTinyMceConfig : IInitializableModule
{
    public void Initialize(InitializationEngine context)
    {
        context.Services.Configure<TinyMceConfiguration>(config =>
        {
            // 允许abbr标签,保留title、class、id属性
            config.Default().AddSetting("extended_valid_elements", "abbr[title|class|id]");
        });
    }
    public void Uninitialize(InitializationEngine context) { }
}
  • 新增工具栏插入按钮
    在上述配置方法中追加自定义按钮逻辑,给编辑器添加abbr插入入口,点击后弹窗填写缩写对应的完整说明:
config.Default()
    // 把abbr按钮加到现有工具栏队列,位置可根据业务需求调整
    .ToolbarButtons(TinyMceToolbarButtons.Bold, TinyMceToolbarButtons.Italic, "abbrBtn", TinyMceToolbarButtons.Link)
    .AddSetting("setup", @"
        function(editor) {
            editor.addButton('abbrBtn', {
                text: 'ABBR',
                tooltip: '插入缩写标签',
                onclick: function() {
                    const selected = editor.selection.getContent();
                    editor.windowManager.open({
                        title: '插入缩写',
                        body: [
                            {type: 'textbox', name: 'content', label: '缩写文本', value: selected},
                            {type: 'textbox', name: 'title', label: '完整说明'}
                        ],
                        onsubmit: function(e) {
                            if(!e.data.content || !e.data.title) return;
                            editor.insertContent(`<abbr title="${e.data.title}">${e.data.content}</abbr>`);
                        }
                    });
                }
            });
        }
    ");
  • 可选优化:编辑器内样式适配
    如果需要编辑人员在后台就能直观识别abbr标签,可以通过content_css配置给编辑器内的abbr标签添加自定义样式,比如加1px灰色虚线底边,和前端展示效果保持一致。

注意事项

  • 如果站点配置了全局XSS内容过滤规则,需要同步把abbr标签和title属性加入过滤白名单,避免提交内容时被安全模块拦截
  • 配置完成后重启应用池生效,测试时可先清空浏览器缓存再进入编辑页,避免旧的编辑器资源缓存导致按钮不显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:00:10