Skip to content

Commit 8f22a14

Browse files
committed
u1 and u2
1 parent b579311 commit 8f22a14

2 files changed

Lines changed: 39 additions & 22 deletions

File tree

load.js

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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(){
172173
Object.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

load.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)