在尝试将URL加载到createjs.Bitmap之前,有没有办法检查URL是否会导致有效图像?我一直试图抓住错误网址的错误(在Firefox中),但由于某些原因无效。
try {
image = new createjs.Bitmap ( "image" );
} catch ( err ) {
console.log ( "oops" );
return null;
}
当我在Firefox中运行此代码时,错误仍显示在控制台中,并且记录的消息不会出现。我的问题是,有没有办法预先验证网址?
答案 0 :(得分:0)
如果图像不好,未定义,为空等 - 它将不 throw
出错,因此try / catch将不执行任何操作。
如果您使用PreloadJS(CreateJS套件的一部分)来加载图像,您可以侦听error
事件,如果任何图像无法加载(或超时),队列将抛出该事件)。
var queue = new createjs.LoadQueue();
queue.on("error", handleError);
queue.loadFile("404image.png");
目前没有使用原始Bitmap
实例的内置方法来确定是否发生错误。通过字符串路径传递给Bitmap的图像不会被预加载,而只是使用Image实例在内部请求。
答案 1 :(得分:0)
您可以使用普通的JS来检测是否可以加载图像,如果是,则将该实例传递给EaselJS Bitmap
:
var img = new Image();
img.onload = function() {
console.log('img loaded');
var bitmap = new createjs.Bitmap(img);
}
img.onerror = function() {
console.log('error');
}
img.src = 'notexistingimage.png';