【发布时间】:2012-10-25 09:38:32
【问题描述】:
我对 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)
【问题讨论】:
-
Andrea,感谢您的帮助。不确定该链接应该如何提供帮助(也许我并不完全了解),但您知道为什么我尝试的解决方案不起作用吗?
-
不,不知道 htmlFilter。但是您要实现的是“从CKEditor中的源代码中剥离html标签”;我发布的链接是关于“从 CKEditor 剥离虚假 HTML”。接受的方案建议使用CKEditor的集成cleanUp功能,不用自己建...你试过了吗?
-
我刚刚尝试过,但它看起来不起作用。而且它看起来比我想要的要多。 htmlfilter 解决方案的优点是您确实定义了如何处理特定标签。不知道 pastefromword 清理工具有什么作用。
-
啊,当我使用保存按钮时它正在工作。但是,我仍然不知道这个过程完全是什么。我更愿意理解为什么 htmlfilter 不起作用(这似乎是做这种事情的正确方法)。
标签: javascript ckeditor data-processing