如何配置CKEditor以保持数据属性而不是删除它们?

 搞笑--林佳豪_533_654 发布于 2023-01-18 10:59

我使用CKeditor编辑丰富的HTML页面,但是一些javascript功能依赖于触发它们的标签的特殊属性.

这些情况很少见,只有5000多条记录的数据库上的一些记录需要触发此功能,而这个特定的js模块需要特殊的属性作为参数化的一种方式:

Buy your tickets

CKeditor允许我添加这些属性(通过编辑条目的源代码),但是当客户端编辑页面时,编辑器会删除它们并中断该功能.

指示我的客户不要编辑此特定记录似乎不专业.换到另一个WYSIWYG编辑器可能会有效,但我认为这是最后的选择.

CKEditor必须有一个解决方案!

1 个回答
  • 我找到了:

    特殊配置选项:

                extraAllowedContent: '*[*]{*}(*)'
    

    做了伎俩.

    所以我使用的构造函数是:

        $('.wysiwyg').ckeditor({
                toolbar : 'Basic',
                extraAllowedContent: '*[*]{*}(*)'
        });
    

    请注意,它是"EXTRA"允许的内容选项,因此它不会覆盖默认值.

    更新:事实证明我的特殊属性有一些&,并且CKEditor用HTML实体替换它们&.我添加了以下两个选项:

                entities: false,
                basicEntities: false,
    

    但是他们阻止了这种情况发生在文本节点中,而不是在属性内部.然后我找到了这个选项:

                forceSimpleAmpersand: true
    

    它起作用了.它现在也没问题,但如果最终我必须把它&作为任何价值的一部分 - 实体,而不仅仅是(通常在内容共享链接中需要) - 编辑器会破坏它们,将它们改为平原&.

    2023-01-18 11:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有