javascript - CKEditor - 使用数据处理器删除脚本标签

标签 javascript ckeditor data-processing

我是 CKEditor 的新手(2 天前开始使用它),我仍在为一些配置而苦恼,比如从编辑器中删除标签。

例如,如果用户在源代码模式下键入以下内容:

<script type="text/javascript">alert('hello');</script>

我想删除它。

查看文档,我发现这可以使用 HTML 过滤器来完成。我这样定义它,但它不起作用。

var editor = ev.editor;
var dataProcessor = editor.dataProcessor;
var htmlFilter = dataProcessor && dataProcessor.htmlFilter;
htmlFilter.addRules(
    {
        elements :
          {
             script : function(element)
                {
                   alert('Found script :' + element.name);
                   element.remove();
                },
             img : function( element )
                {
                   alert('Found script :' + element.name);
                   if ( !element.attributes.alt )
                       element.attributes.alt = 'Cookingfactory';
                   }
                 }
             });

img 部分运行良好,但脚本部分运行不佳。我想我错过了什么。它甚至不显示脚本的警报消息。

我们非常欢迎任何帮助 :o)

最佳答案

你可以使用这个:

CKEDITOR.replace('editor1', {
   on: {
      pluginsLoaded: function(event) {
         event.editor.dataProcessor.dataFilter.addRules({
            elements: {
               script: function(element) {
                  return false;
               }
            }
         });
      }
   }
});

关于javascript - CKEditor - 使用数据处理器删除脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13065731/

相关文章:

MySQL:使用单个查询将整个表中的 'NULL' 作为字符串替换为实际 NULL 值

javascript - 使用 Electron 时,设计 HTML/CSS 布局的最佳方式是什么?

javascript - 使用javascript从另一个页面获取内容不起作用

javascript - 使用按钮单击事件 javascript 突出显示多条记录

javascript - 如何在ckeditor中动态添加占位符

python - 使用 SciPy stft 函数指定短时傅里叶变换段中的样本数

javascript - 定位包含切换的多个 div,以分别更改单击时的样式

javascript - 为什么 ckeditor 不支持 <> 之间的 dropvalue?

dialog - 将数据参数发送到 ckeditor 对话框

python - 如何使用 Scikit-learn Standard Scaler 对时间序列数据进行标准化?