1 /** 2 * Hilo 3 * Copyright 2015 alibaba.com 4 * Licensed under the MIT License 5 */ 6 7 /** 8 * @private 9 * @class image resources loader. 10 * @module hilo/loader/ImageLoader 11 * @requires hilo/core/Class 12 */ 13 var ImageLoader = Class.create({ 14 load: function(data){ 15 var me = this; 16 17 var image = new Image(); 18 if(data.crossOrigin){ 19 image.crossOrigin = "Anonymous"; 20 } 21 22 image.onload = function(){ 23 me.onLoad(image); 24 }; 25 image.onerror = image.onabort = me.onError.bind(image); 26 image.src = data.src + (data.noCache ? (data.src.indexOf('?') == -1 ? '?' : '&') + 't=' + (+new Date()) : ''); 27 }, 28 29 onLoad: function(image){ 30 image.onload = image.onerror = image.onabort = null; 31 return image; 32 }, 33 34 onError: function(e){ 35 var image = e.target; 36 image.onload = image.onerror = image.onabort = null; 37 return e; 38 } 39 40 });