2016-02-02 6 views
-1

У меня есть сайт, который необходим только для поддержки 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, но я открыт для всех предложений и идей.

Спасибо за чтение

Изображение строк - дочерние строки доступны только при расширении, но все еще нуждаются обновления

enter image description here

+0

Что такое «детские ряды» строк таблицы? – Teemu

+0

Он работает, я хочу посмотреть, могу ли я оптимизировать для лучшей скорости, так как IE имеет медленный движок JS. – Busturdust

+0

@Teemu tablesorter дочерние строки. Я обновляю изображение – Busturdust

ответ

1

Так в случае, если кто задавался вопросом.

Последняя линия $('#connectionGrid').trigger('updateAll', [false]); выполнялась внутри цикла.

В отличие от одного раза, когда цикл был закончен.

Woops

Смежные вопросы