我使用html5創建拖放圖像上傳功能。這在Firefox中非常適合我,但在Chrome中,圖像onload事件僅在第一次觸發。如果我只在第一個作品中拖動多個圖像,並且拖動一秒就失敗了。我認爲問題出在圖像上。圖像,onload事件不在鉻中工作
這裏是我的代碼工作我已刪除了不相關的部分方式:
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瀏覽器?從鉻跟蹤
你不應該定義圖像的onload加載事件已註冊? – epascarello 2011-04-28 14:33:25
@epascarello感謝您的回覆,我忘了添加這段代碼,其餘的都是。 img.src在processNext函數中改變 – Early73 2011-04-28 14:43:13