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/wysiwygarea-plugin.js
|
||||||
www/pad/mediatag-plugin.js
|
www/pad/mediatag-plugin.js
|
||||||
www/pad/mediatag-plugin-dialog.js
|
www/pad/mediatag-plugin-dialog.js
|
||||||
|
www/pad/disable-base64.js
|
||||||
|
|
||||||
www/kanban/jkanban.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; }';
|
'.cke_body_width body > *:first-child { margin-top: 0; }';
|
||||||
Ckeditor.addCss(newCss);
|
Ckeditor.addCss(newCss);
|
||||||
Ckeditor.plugins.addExternal('mediatag','/pad/', 'mediatag-plugin.js');
|
Ckeditor.plugins.addExternal('mediatag','/pad/', 'mediatag-plugin.js');
|
||||||
|
Ckeditor.plugins.addExternal('blockbase64','/pad/', 'disable-base64.js');
|
||||||
module.ckeditor = editor = Ckeditor.replace('editor1', {
|
module.ckeditor = editor = Ckeditor.replace('editor1', {
|
||||||
customConfig: '/customize/ckeditor-config.js',
|
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() {
|
( function() {
|
||||||
|
|
||||||
CKEDITOR.plugins.add( 'mediatag', {
|
CKEDITOR.plugins.add( 'mediatag', {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user