我是 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/