Disable pasting base64 images in ckeditor
parent
aa2a01174f
commit
3f89dd9908
@ -0,0 +1,40 @@
|
|||||||
|
( function() {
|
||||||
|
CKEDITOR.plugins.add('blockbase64', {
|
||||||
|
init: function (editor) {
|
||||||
|
|
||||||
|
var replaceImgText = function (html) {
|
||||||
|
var ret = html.replace( /<img[^>]*src="data:image\/(bmp|dds|gif|jpg|jpeg|png|psd|pspimage|tga|thm|tif|tiff|yuv|ai|eps|ps|svg);base64,.*?"[^>]*>/gi,
|
||||||
|
function () {
|
||||||
|
console.error("Direct image paste is not allowed.");
|
||||||
|
return '';
|
||||||
|
});
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
|
||||||
|
var chkImg = function () {
|
||||||
|
// don't execute code if the editor is readOnly
|
||||||
|
if (editor.readOnly) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setTimeout( function() {
|
||||||
|
editor.document.$.body.innerHTML = replaceImgText(editor.document.$.body.innerHTML);
|
||||||
|
},100);
|
||||||
|
};
|
||||||
|
|
||||||
|
editor.on('contentDom', function () {
|
||||||
|
// For Firefox
|
||||||
|
editor.document.on('drop', chkImg);
|
||||||
|
// For IE
|
||||||
|
editor.document.getBody().on('drop', chkImg);
|
||||||
|
});
|
||||||
|
|
||||||
|
editor.on('paste', function(e) {
|
||||||
|
var html = e.data.dataValue;
|
||||||
|
if (!html) { return; }
|
||||||
|
e.data.dataValue = replaceImgText(html);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})();
|
Loading…
Reference in New Issue