0

下面的代码在 Chrome、Safari 和 Firefox 中就像一个魅力,但在我的 iPad2 iOS5 中不起作用为什么

function preImage(url,callback){
  var img = new Image(); 
  img.src = url;

  if (img.complete) { 
    callback.call(img);
    return; 
  }

  img.onload = function (){ 
     callback.call(img);
  };
}
(function() {
  var my_canvas=document.getElementById("myCanvas");
  var context=my_canvas.getContext("2d");
  preImage("img/test.png",function(){
    context.drawImage(this,0,0);
  });
})(); 
4

1 回答 1

1

以下似乎在我的 iPhone 和 iPad 模拟器上运行良好,两者都运行 IOS6。我注意到你说的是IOS5,错字?还是有意的?

var preImage = function(url, callback){
    var img = new Image(); 
    img.src = url;

    if (img.complete) { 
        callback.call(img);
        return; 
    }

    img.onload = function (){ 
        callback.call(img);
    };
};
(function() {
    var my_canvas = document.getElementById("myCanvas");
    var context = my_canvas.getContext("2d");
    preImage("img/picture.jpg", function(){
        context.drawImage(this,0,0);
    });
})();

注意添加了';' 在 preImage 声明之后。

于 2013-01-26T09:10:31.857 回答