,我想这里的问题,是当资源可用?,但有一种方法,以确认该资源可用,只是检查图像对象的“完整的”属性。
if (img.complete == true){
// is available.
} else {
// wait until is ready.
}
此外,您可以使用onload事件和检查两个东西的延迟方法进行合并方法。
var img = new Image();
//first attach handler
img.onload = function(e){
if (e.target.complete == true) {
yourHandler(e);
} else {
var maxTimes = 10;
var countTimes = 0;
function retryLoadImage() {
setTimeout(function() {
if (countTimes > maxTimes) {
// -- cannot load image.
return;
} else {
if (e.target.complete == true) {
yourHandler(e);
} else {
retryLoadImage();
}
}
countTimes++;
}, 50);
};
}
};
img.src = yourSource;
这对我有用!!!在IE和FF上。
此解决方案只会使错误无效。根据您提供的链接:“注意:这个”修复“将禁用Firefox中的[功能]。” – 2014-10-03 17:25:56