Добрый день! Помогите решить проблему. Есть скрипт, который должен принимать несколько фото, уменьшать до нужного размера и передавать на сервер. В хроме скрипт работает как положено, а в лисе нестабильно, то есть могут пройти обработку все фото , но чаще в data прилетает значение "data:,". При этом как правило последнее фото обрабатывается нормально. В чем может быть причина? Подозреваю, что лис просто обрывает работу drawImage несмотря на onload.
var max_height=1000,max_width=1000;
var data,i=0;
var read=function(){
readFile=function(){
var file=files[i];
if(file){
var reader= new FileReader();
reader.readAsDataURL(file)
reader.onload=function(){
var img=new Image();
img.src=reader.result;
draw=function(){
var width=img.width,height=img.height;
if (width > height) {if (width > max_width) {height *= max_width / width;width = max_width;}
} else {if (height > max_height) {width *= max_height / height; height = max_height;}}
var dimage = new Image();
dimage.src=img.src;
dimage.onload=function(){
var canvas = document.createElement('canvas');var ctx= canvas.getContext("2d");ctx.clearRect(0,0,width,height); canvas.width=width;canvas.height=height;
ctx.drawImage(dimage, 0, 0, width, height);
data=canvas.toDataURL('image/jpeg');
i++;read();
console.log(data);
//ajaxUpload(data);
}
}
draw();
}
}
}
readFile();
}
read();