html5 を使用して、ドラッグ アンド ドロップの画像アップロード機能を作成しています。これはFirefoxではうまく機能しますが、クロムでは画像のオンロードイベントが初めて発生します。複数の画像を最初の作品だけにドラッグすると、2 番目の作品にドラッグすると失敗します。問題は画像のオンロードにあると思います。
これが私のコードの仕組みです。無関係なセクションを削除しました。
var img = document.createElement("img");
var reader = new FileReader();
var canvas = document.createElement("canvas");
var canvasData;
var ctx = canvas.getContext("2d");
var myFiles;
var i = 0;
reader.onload = (function (aImg)
{
return function (e)
{
aImg.src = e.target.result;
};
})(img);
img.onload = function (){
//resizes image
//draws it to the canvas
//posts to server
i++;
if(i < myFiles.length){
processNext(i);
}
}
function processNext(filei) {
var file = myFiles[filei];
img.file = file;
reader.readAsDataURL(file);
}
i = 0;
myFiles = files;
processNext(0);
これがFirefoxでは機能するのにChromeでは機能しない理由を知っている人はいますか?