JavaScript從剪切板中獲取圖片並在光標處插入
edit_content_text.addEventListener('paste', function (ev) {
var clipboardData, items, item;
console.log(ev.clipboardData.items[0].type)
if (ev && (clipboardData = ev.clipboardData) && (items = clipboardData.items) && (item = items[0]) && item.kind == 'file' && item.type.includes("image")) {
//blob就是剪贴板中的二进制图片数据
var blob = item.getAsFile();
//定义fileReader读取完数据后的回调
var reader = new FileReader();
reader.onload = function () {
//result应该是base64编码后的图片
var sHtml = '<img src="' + event.target.result + '">';
if (focus === true) {
var selection = getSelection()
var range = selection.getRangeAt(0);
var img = document.createElement('img');
img.src = event.target.result;
range.insertNode(img);
// edit_content_text.innerHTML = edit_content_text.innerHTML + sHtml;
}
//_this.pasteHTML(sHtml);//这里应该是关于光标和插入代码的具体操作
}
//用fileReader读取二进制图片,完成后会调用上面定义的回调函数
reader.readAsDataURL(blob);
//return false;
}
});