利用chrome的clipboardData和File Reader对象,可以很好的实现些功能。
function test(evt){
//for chrome
var clipboardData = evt.clipboardData;
for(var i=0; i<clipboardData.items.length; i++){
var item = clipboardData.items[i];
if(item.kind=='file'&&item.type.match(/^image\//i)){
//blob就是剪贴板中的二进制图片数据
var blob = item.getAsFile(),reader = new FileReader();
//定义fileReader读取完数据后的回调
reader.οnlοad=function(){
var sHtml='<img src="'+event.target.result+'">';//result应该是base64编码后的图片
document.getElementById('dd').innerHTML += sHtml;
}
reader.readAsDataURL(blob);//用fileReader读取二进制图片,完成后会调用上面定义的回调函数
}
}
}
<textarea id="t" οnpaste="test(event)" cols=60 rows=5></textarea>
<div id="dd"></div