, Chrome v 47.
:
function pasteHandler(e) {
var cbData;
if (e.clipboardData) {
cbData = e.clipboardData;
} else if (window.clipboardData) {
cbData = window.clipboardData;
}
if (e.msConvertURL) {
var fileList = cbData.files;
if (fileList.length > 0) {
for (var i = 0; i < fileList.length; i++) {
var blob = fileList[i];
console.log("Image blob: " + blob);
readPastedBlob(blob);
}
}
}
if (cbData && cbData.items) {
if ((text = cbData.getData("text/plain"))) {
return;
}
for (var i = 0; i < cbData.items.length; i++) {
if (cbData.items[i].type.indexOf('image') !== -1) {
var blob = cbData.items[i].getAsFile();
readPastedBlob(blob);
}
}
}
function readPastedBlob(blob) {
if (blob) {
reader = new FileReader();
reader.onload = function(evt) {
pasteImage(evt.target.result);
};
reader.readAsDataURL(blob);
}
}
function pasteImage(source) {
var image = "<img src='" + source + "' data-mce-selected='1'></img>";
window.tinyMCE.execCommand('mceInsertContent', false, image);
}}
init tinyMCE:
tinymce.init({
selector: "textarea", // change this value according to your HTML
paste_data_images: true,
setup: function(editor) {
editor.on('paste', pasteHandler)
};
})