如何设置TinyMCE以便它不允许内联数据图像?

时间:2011-09-27 17:47:39

标签: image filter tinymce

我在CMS上安装了TinyMCE,用户一直在粘贴内联数据类型的图像。这种事情:

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7" 
width="16" height="14" alt="embedded folder icon">

他们粘贴在一些非常大的图像中,内容存储在数据库中。这使得数据库的大小变得非常快,并且已经有可用的媒体上传组件,那么我怎样才能简单地阻止编辑器接受这种类型的图像呢?

1 个答案:

答案 0 :(得分:2)

这取决于你想要什么。 由于您无法使用valid_elements和child_elements禁止使用此类元素,因此您必须采取其他方式。

案例1 :您不希望用户在onPaste上输入此类图片。

您需要使用粘贴插件并设置参数paste_pre

paste_preprocess : function(pl, o) {
    window.console && console.log('Object', o);
    window.console && console.log('Content:', o.content);

    // modify o.content here -> remove images of that kind
    o.content = o.content.substr(...)
}

案例2 :您希望在将图像保存到数据库之前将其过滤掉。

您可以使用tinymce setup paramter combined with onSave来摆脱它们。

根据您的描述,您似乎想要案例1。