ubuntu 11.10のFirefox 8.0では、img.complete
はfalseですが、onload関数draw
が呼び出されます。私はsetTimeout
ハックでやや解決しましたが、それほど美味しくありません。
img.src
を設定する前にimg.onload
を設定しようとしました。私はいつもこのようにimg.complete
をtrueにしますが、img.width
は0で、img.src
も空ですので動作しません。
これを正しく実装する方法はありますか?javascript onload image!complete
var draw=function(img,ctx,x,y)
{ if(!img.complete)
{ setTimeout(function(){draw(img,ctx,x,y);},50);
}
else
{
ctx.drawImage(img,x,y);
}
}
for(i=0;i<9;i++)
{ img=new Image();
img.src="/media/"+url[i];
img.onload=(draw)(img,ctx,tile.x*offset[i].x,tile.y*offset[i].y);
}