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

如何让CKEditor将script标签代码视为普通文本而非可执行代码?

CKEditor 中正常展示 script 代码片段的解决方法

方法1:修改CKEditor的过滤配置

找到CKEditor的配置文件(通常是config.js),添加或修改以下配置,让编辑器不对script相关内容进行解析和注释:

CKEDITOR.editorConfig = function( config ) {
    // 禁用自动过滤,允许所有内容(适合信任内容来源的场景)
    config.allowedContent = true;
    // 把script标签内容加入保护列表,视为纯文本
    config.protectedSource.push( /<script[\s\S]*?<\/script>/g );
};

如果不想完全禁用过滤,可以更精确地允许pre和code标签:

CKEDITOR.editorConfig = function( config ) {
    config.extraAllowedContent = 'pre code; pre *[*]; code *[*]';
    config.protectedSource.push( /<script[\s\S]*?<\/script>/g );
};

方法2:修正实体编码并确保内容正确

首先修正你之前的编码错误:原代码里的alert();&gt;是错误的,正确的完全转义后的内容应该是:

<pre><code>&lt;script&gt;alert();&lt;/script&gt;</code></pre>

保存和加载时确保这段编码后的内容不会被二次转义,后端存储时直接保存该文本,不要额外处理HTML实体。

方法3:使用Code Snippet插件

如果使用的是CKEditor 4或5,启用官方的Code Snippet插件:

  • 该插件专门用于展示代码片段,会自动处理特殊字符,避免被编辑器过滤或解析
  • 在编辑器中通过插件插入代码片段,选择「纯文本」或「JavaScript」语言,直接粘贴<script>alert();</script>即可,插件会自动完成编码和安全展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:48:21