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

如何阻止Django后台CKEditor移除Adsense的<ins>标签?

解决CKEditor移除Google Adsense标签的问题

一、修正Django配置(优先推荐)

django-ckeditor的配置优先级高于单独的config.js,直接在settings.py的CKEDITOR_CONFIGS中补充规则,确保标签不被过滤:

CKEDITOR_CONFIGS = {
    'default': {
        'allowedContent': True,
        # 保护<ins>标签不被编辑器修改或移除
        'protectedSource': [
            r'<ins[\s\S]+?<\/ins>',
        ],
        # 明确允许<ins>标签的所有类、属性和子内容
        'extraAllowedContent': 'ins(*)[*];',
    },
}

修改后重启Django服务,再测试插入Adsense代码。

二、让config.js生效的配置(若坚持使用config.js)

如果要使用单独的config.js,需确保django-ckeditor能正确加载它:

  1. 将config.js放在Django项目的静态文件目录下,比如static/ckeditor/ckeditor/config.js
  2. 在settings.py中指定CKEditor的静态文件路径:
CKEDITOR_BASEPATH = '/static/ckeditor/ckeditor/'

同时修正config.js的正则表达式(JS中无需转义HTML实体):

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

确认CKEditor的config.js是否生效的方法
  • 控制台验证法:打开浏览器开发者工具(F12)的Console面板,输入CKEDITOR.config回车,查看输出的配置对象中是否包含你在config.js里设置的项(比如设置了config.uiColor = '#AADC6E',就检查uiColor的值)。
  • 可视化验证法:在config.js中添加一个明显的配置,比如config.language = 'fr',保存后刷新页面,若编辑器界面变为法语,说明config.js已生效。
  • 网络请求验证法:在开发者工具的Network面板中刷新页面,查找名为config.js的请求,确认其状态为200,且响应内容是你修改后的代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:48:27