Javascript - Image.complete是真的,但在实时运行时在Firefox中返回false



我有一个函数:

function IsImageLoadable(URL) {
  var imageObj = new Image();
  imageObj.src = URL;
  var x = (imageObj.complete);
  var y = (imageObj.naturalHeight);
  if ( (x === true) && (y !== 0))
    return true;
  else
    return false;
}

问题是在Chrome,IE,Edge和Opera中,此功能可以正常工作。如果图像是可加载的,则xy变量设置为 true,并且某些数字相应地大于 0。但是,在实时运行的Firefox中,xy都设置为false0

我之所以说实时,是因为在逐行调试和单步执行时,x等于truey等于 500 左右。

在 Firefox 中使用图像对象时,这是一个问题吗?有什么建议吗?

在加载图像时设置处理程序

function IsImageLoadable(URL) {
  var imageObj = new Image();
  imageObj.src = URL;
imageObj.onload = function(){
   //your code
}
}

相关内容

最新更新