@@ -95,7 +95,7 @@ Object.assign( $loadEvent.prototype, {
9595
9696
9797 /**
98- * Выполнить при возникновении всех событий m функцию clb
98+ * Выполнить при возникновении всех событий m выполнить функцию clb
9999 * @param {string|array } m - Сообщение, на которое нужно подписаться
100100 * @param {callable } clb - Функция
101101 */
@@ -134,7 +134,8 @@ function $loadObj(){
134134 /**
135135 * Массив с загружаемыми ресурсами
136136 */
137- a : [ ] ,
137+ u1 : [ ] ,
138+ u2 : [ ] ,
138139
139140
140141 /**
@@ -172,6 +173,19 @@ function $loadObj(){
172173Object . assign ( $loadObj . prototype , {
173174
174175
176+ /**
177+ * Формируем массивы u1 и u2
178+ */
179+ a : function ( a ) {
180+ this . u1 = [ ] ;
181+ this . u2 = [ ] ;
182+ for ( var i = 0 ; i < a . length ; i ++ ) {
183+ this . u1 . push ( a [ i ] ) ;
184+ this . u2 . push ( a [ i ] . split ( '?' ) . shift ( ) ) ;
185+ }
186+ } ,
187+
188+
175189 /**
176190 * Если были загружены все url
177191 */
@@ -239,18 +253,18 @@ Object.assign( $loadObj.prototype, {
239253
240254
241255 /**
242- * Запускает загрузку ресурсов, указанных в this.a
256+ * Запускает загрузку ресурсов, указанных в this.u2
243257 */
244258 run : function ( ) {
245259 if ( this . st ) return ;
246260 $l = $load ;
247261
248- if ( this . a . length == 0 || $l . ev_u . ismj ( this . a ) ) {
262+ if ( this . u2 . length == 0 || $l . ev_u . ismj ( this . u2 ) ) {
249263 this . ld ( ) ;
250264 return ;
251265 }
252266 else {
253- $l . ev_u . _s ( this . a , ( function ( obj ) {
267+ $l . ev_u . _s ( this . u2 , ( function ( obj ) {
254268 return function ( ) {
255269 obj . ld ( ) ;
256270 }
@@ -259,18 +273,22 @@ Object.assign( $loadObj.prototype, {
259273
260274 var rr = [ ] ;
261275 var dft = this . dft ;
262- for ( var i = 0 , sz = this . a . length ; i < sz ; i ++ ) {
276+ for ( var i = 0 , sz = this . u2 . length ; i < sz ; i ++ ) {
263277
264278 // Обрабатываем url
265- var u = this . a [ i ] ;
279+ var u1 = this . u1 [ i ] ;
280+ var u2 = this . u2 [ i ] ;
266281
267282 // Если url2 уже в списке загружаемых файлов, то пропускаем url
268- if ( $l . is ( $load . ev_u . st [ u ] ) ) {
283+ if ( $l . is ( $load . ev_u . st [ u2 ] ) ) {
269284 continue ;
270285 }
271286
287+ // Говорим что ресурс грузится
288+ $load . ev_u . st [ u2 ] = 0 ;
289+
272290 // Получаем расширение файла
273- var e = u . split ( '.' ) . pop ( ) ;
291+ var e = u2 . split ( '.' ) . pop ( ) ;
274292 var f = null ;
275293
276294
@@ -293,24 +311,24 @@ Object.assign( $loadObj.prototype, {
293311
294312
295313 // Создаем DOM объект в зависимости от расширения
296- if ( e == 'js' ) f = addJs ( u ) ;
297- else if ( e == 'css' ) f = addCss ( u ) ;
298- else if ( dft == 'js' ) f = addJs ( u ) ;
299- else if ( dft == 'css' ) f = addCss ( u ) ;
314+ if ( e == 'js' ) f = addJs ( u1 ) ;
315+ else if ( e == 'css' ) f = addCss ( u1 ) ;
316+ else if ( dft == 'js' ) f = addJs ( u1 ) ;
317+ else if ( dft == 'css' ) f = addCss ( u1 ) ;
300318
301319
302320 // Если DOM объект был создан
303321 if ( f ) {
304- f . onload = ( function ( u , o ) {
322+ f . onload = ( function ( u2 , o ) {
305323 return function ( ) {
306- $load . ev_u . _d ( u ) ;
324+ $load . ev_u . _d ( u2 ) ;
307325 } ;
308- } ) ( u , this ) ;
326+ } ) ( u2 , this ) ;
309327
310- f . onerror = ( function ( u , o ) {
328+ f . onerror = ( function ( u2 , o ) {
311329 return function ( ) {
312330 } ;
313- } ) ( u , this ) ;
331+ } ) ( u2 , this ) ;
314332
315333 rr . push ( f ) ;
316334 }
@@ -347,7 +365,7 @@ Object.assign( $load, {
347365 * Проверяет x на существование
348366 */
349367 is : function ( x ) {
350- return ( typeof x != 'undefined' ) && ( x != null ) ;
368+ return ( typeof x != 'undefined' ) && ( x !== null ) ;
351369 } ,
352370
353371
@@ -461,13 +479,12 @@ Object.assign( $load, {
461479 var u = a0 [ i ] ;
462480 if ( this . is ( this . als [ u ] ) ) a = a . concat ( this . als [ u ] ) ;
463481 else {
464- u = u . split ( '?' ) . shift ( ) ;
465482 a . push ( u ) ;
466483 }
467484 }
468485
469486 var o = new $loadObj ( ) ;
470- o . a = a ;
487+ o . a ( a ) ;
471488 o . m = m ;
472489 o . dft = dft ;
473490
0 commit comments