Disable pasting base64 images in ckeditor
This commit is contained in:
parent
aa2a01174f
commit
3f89dd9908
@ -14,6 +14,7 @@ www/common/hyperscript.js
|
||||
www/pad/wysiwygarea-plugin.js
|
||||
www/pad/mediatag-plugin.js
|
||||
www/pad/mediatag-plugin-dialog.js
|
||||
www/pad/disable-base64.js
|
||||
|
||||
www/kanban/jkanban.js
|
||||
|
||||
|
||||
40
www/pad/disable-base64.js
Normal file
40
www/pad/disable-base64.js
Normal file
@ -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);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
})();
|
||||
@ -740,6 +740,7 @@ define([
|
||||
'.cke_body_width body > *:first-child { margin-top: 0; }';
|
||||
Ckeditor.addCss(newCss);
|
||||
Ckeditor.plugins.addExternal('mediatag','/pad/', 'mediatag-plugin.js');
|
||||
Ckeditor.plugins.addExternal('blockbase64','/pad/', 'disable-base64.js');
|
||||
module.ckeditor = editor = Ckeditor.replace('editor1', {
|
||||
customConfig: '/customize/ckeditor-config.js',
|
||||
});
|
||||
|
||||
@ -1,12 +1,3 @@
|
||||
/**
|
||||
* @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
|
||||
* For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview The Image plugin.
|
||||
*/
|
||||
|
||||
( function() {
|
||||
|
||||
CKEDITOR.plugins.add( 'mediatag', {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user