我制作了一个应用程序画布。每次调用draw()函数时,都会在画布中绘制多个图像。问题是Opera使用它不起作用。 Onload功能并不总是有效。
function draw(){
ctx.clearRect (0, 0, canvas.width, canvas.height);
var img = new Image();
img.src = srcvolets;
img.onload = function(){
ctx.drawImage(img, 0, 0,canvas.width,canvas.height);
if(srccouleur!=null){
var img2 = new Image();
img2.src = 'images/couleurs/'+volets+'/'+srccouleur+'.png';
img2.onload = function(){
ctx.drawImage(img2, 0, 0,canvas.width,canvas.height);
if(srcsculpture!=null){
var img3 = new Image();
img3.src = cheminsculpt+srcsculpture;
img3.onload = function(){
if(volets=='furno'){
ctx.drawImage(img3, 175, 235);
}else{
ctx.drawImage(img3, 175, 242);
}
}
}
}}}}
谢谢。 (抱歉我的英语,我说法语)
答案 0 :(得分:2)
我认为这与缓存的图像有关,并且onload
在设置之前触发。
在设置onload
之前,您可能需要尝试设置src
。请参阅this article about the problem。