Hilo/build/commonjs/loader/ImageLoader.js
2022-06-29 10:45:02 +08:00

46 lines
1.0 KiB
JavaScript

/**
* hilojs 2.0.3 for commonjs
* Copyright 2016 alibaba.com
* Licensed under the MIT License
*/
var Class = require('../core/Class');
/**
* @language=en
* @private
* @class image resources loader.
* @module hilo/loader/ImageLoader
* @requires hilo/core/Class
*/
var ImageLoader = Class.create({
load: function(data){
var me = this;
var image = new Image();
if(data.crossOrigin){
image.crossOrigin = "Anonymous";
}
image.onload = function(){
me.onLoad(image);
};
image.onerror = image.onabort = me.onError.bind(image);
image.src = data.src + (data.noCache ? (data.src.indexOf('?') == -1 ? '?' : '&') + 't=' + (+new Date()) : '');
},
onLoad: function(image){
image.onload = image.onerror = image.onabort = null;
return image;
},
onError: function(e){
var image = e.target;
image.onload = image.onerror = image.onabort = null;
return e;
}
});
module.exports = ImageLoader;