Форум → Ошибка в работе менеджера задачь в IE8
В IE8 стабильно возникает ошибка при добавлении новой задачи в менеджере задач.
Сведения об ошибке на веб-странице
Агент пользователя: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
штамп времени: Thu, 24 Oct 2013 14:17:07 UTC
Сообщение: 'undefined' - есть null или не является объектом
Строка: 246
Символ: 6
Код: 0
URI-код: http://storage/gzip.php?type=sys&version=2b44c5313df6066563f71986feb33b5f&lang=ru&tt=default
Ошибка возникает в файле modules/sys/js/brick.js в этой функции:
isLoadDep: function(){
var rq = this.component.requires;
var mods = rq.mod || [];
for (var i=0;i<mods.length;i++){
var mod = mods[i];
var files = mod.files || [];
for (var ii=0;ii<files.length;ii++){
[ii]) == 'string'){
var ccName = files[ii].replace(/\.js$/, '');
if (!Brick.componentExists(mod.name, ccName)){
// Brick.console('ops: '+this.mName+':'+this.cName+'=>'+mod.name+':'+ ccName);
}else if (!Brick.componentRegistered(mod.name, ccName)){
// Brick.console('Нехватает: '+this.mName+':'+this.cName+'=>'+mod.name+':'+ ccName);
return false;
}
}
}
return true;
},
В массиве
files
в этот момент находиться 3 элемента:[0] «lib.js» String
[1] «roles.js» String
length 3 Number
Судя по всему валиться на 3 элементе пытаясь выполнить
var ccName = files[ii].replace(/\.js$/, ''); с числом.
Я привел код к такому виду:
isLoadDep: function(){
var rq = this.component.requires;
var mods = rq.mod || [];
for (var i=0;i<mods.length;i++){
var mod = mods[i];
var files = mod.files || [];
for (var ii=0;ii<files.length;ii++){
if (typeof (files[ii]) == 'string'){
var ccName = files[ii].replace(/\.js$/, '');
if (!Brick.componentExists(mod.name, ccName)){
// Brick.console('ops: '+this.mName+':'+this.cName+'=>'+mod.name+':'+ ccName);
}else if (!Brick.componentRegistered(mod.name, ccName)){
// Brick.console('Нехватает: '+this.mName+':'+this.cName+'=>'+mod.name+':'+ ccName);
return false;
}
}
}
}
return true;
},
и всё вроде бы стало работать нормально.
Можно попросить внести это исправление в будущие релизы, или если я исправил не очень грамотно, внести более рациональное исправление? :)
Открыто
Martyr | |
24 Октября 2013, 18:29 |
Да, обязательно внесу.
Спасибо.