У меня есть сайт, который необходим только для поддержки IE11Javascript Оптимизация для IE 11
Это одно приложение страницы, которая имеет около 200 строк таблицы и каждая строка таблицы имеет 5 дочерних строки
Функция пульсации, которая обновляет таблицу , поскольку записи поступают в. Строки таблицы пропускаются, если обновление не входит.
Однако при получении больших обновлений (что должно происходить только изредка) приложение будет зависать, поскольку оно медленно обрабатывает javascript. Я попытался максимально ограничить javascript, но все еще имею длинную функцию.
Я разработчик разработки на заднем плане по своей природе и задавался вопросом, есть ли у кого-нибудь какие-либо советы по поддержке больших обновлений таблицы ajax для IE, поскольку IE так плохо обрабатывает JS.
Вот функция
function writeTableLines(tempRows){
/* This Function takes care of updating the text and coloring of
required dynamic fields.
All other values are not dynamically written.
*/
for(i in tempRows){
//i is the computer name
tempValues = tempRows[i];
// For Row
selector = "[id='"+i+"']";
// Network Name
network_selector = "[id='"+i+"_network']";
$(network_selector).text(tempValues['network']);
if (tempValues['network_color']){
$(network_selector).addClass(tempValues['network_color']);
$(selector).find('.name').addClass(tempValues['network_color']);
}else{
$(network_selector).removeClass('warning');
$(selector).find('.name').removeClass('warning');
}
// Boot Time
boot_selector = "[id='"+i+"_boot']";
$(boot_selector).text(tempValues['boot']);
if (tempValues['boot_color']){
$(boot_selector).addClass(tempValues['boot_color']);
$(selector).find('.name').addClass(tempValues['boot_color'])
}else{
$(boot_selector).removeClass('issue');
$(selector).find('.name').removeClass('issue');
}
// Last Checked In Timestamp
check_in_selector = "[id='"+i+"_checked_in']";
$(check_in_selector).text(tempValues['checked_in']);
if (tempValues['service_unresponsive']){
$(check_in_selector).addClass('redline');
$(selector).find('.name').addClass('redline');
}else{
$(check_in_selector).removeClass('redline');
$(selector).find('.name').removeClass('redline');
}
util_selector = $(selector).find('td.util').find('a');
$(util_selector).text(tempValues['util'])
if (tempValues['util_class']){
$(util_selector).addClass(tempValues['util_class']);
}else{
$(util_selector).removeClass('redline warning');
}
workgroup_selector = $(selector).find('td.workgroup');
if (($.trim(tempValues['workgroup'])) != $.trim($(workgroup_selector).text())){
if ((tempValues['workgroup'] != selected) && (selected != 'All')){
$(workgroup_selector).addClass('warning');
}else{
$(workgroup_selector).removeClass('warning');
}
}
$(workgroup_selector).text(tempValues['workgroup'])
toggle_links(i, tempRows[i]);
$('#connectionGrid').trigger('updateAll', [false]);
}
}
эта функция перебирает только полученные данные. Для каждого полученного элемента строки обновите текст ячейки и при необходимости добавьте раскраску.
Я думаю, что я могу просто ввернуться с его IE, но я открыт для всех предложений и идей.
Спасибо за чтение
Изображение строк - дочерние строки доступны только при расширении, но все еще нуждаются обновления
Что такое «детские ряды» строк таблицы? – Teemu
Он работает, я хочу посмотреть, могу ли я оптимизировать для лучшей скорости, так как IE имеет медленный движок JS. – Busturdust
@Teemu tablesorter дочерние строки. Я обновляю изображение – Busturdust