ニックによる答えはまだ機能するために小さな変更を必要とするようです:)
// window.addEventListener('paste', ... or
document.onpaste = function (event) {
// use event.originalEvent.clipboard for newer chrome versions
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
// find pasted image among pasted items
var blob = null;
for (var i = 0; i < items.length; i++) {
if (items[i].type.indexOf("image") === 0) {
blob = items[i].getAsFile();
}
}
// load image if there is a pasted image
if (blob !== null) {
var reader = new FileReader();
reader.onload = function(event) {
console.log(event.target.result); // data url!
};
reader.readAsDataURL(blob);
}
}
実行コードの例:http : //jsfiddle.net/bt7BU/225/
したがって、ニックスの答えに対する変更は次のとおりです。
var items = event.clipboardData.items;
に
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
また、貼り付けたアイテムから2番目の要素を取得する必要がありました(別のWebページからバッファーに画像をコピーした場合、最初の要素はtext / htmlのようです)。だから私は変わった
var blob = items[0].getAsFile();
画像を含むアイテムを検索するループに(上記を参照)
私はニックの答えに直接答える方法を知りませんでした、ここで問題ないでしょう:$ :)