jQuery html () проблема с памятью - PullRequest
0 голосов
/ 11 ноября 2010

при выполнении следующих действий я могу наблюдать за использованием памяти, просто парить в диспетчере задач в Chrome. я не понимаю если я закомментирую одну строку ($ ("# main_table tbody"). html (string);), то в мире все в порядке. Какие-нибудь мысли? Спасибо всем. о, это запускается один раз в секунду в цикле "setTimeout", вот как я вижу, как увеличивается память, когда она делает это один раз в секунду.

  $.ajax({
    type: "GET",
    dataType: 'json',
    url: '<?php echo base_url();?>includes/updateTable.php',
    cache: false,
    data: dataString,
    success: function(data)
    {
      var string = '';

      $.each(data.monitorData, function(i,monitor)
      {
        string = string + '<tr id="r'+monitor['id']+'">';

        for (var key in monitor)
        {
          string = string + '<td>'+monitor[key]+'</td>';
        }
        string = string + '</tr>';
      });

      $("#main_table tbody").html(string);
    }
  });

Ответы [ 2 ]

1 голос
/ 11 ноября 2010

вы пытались добавить

$("#main_table tbody").empty();

прямо перед

$("#main_table tbody").html(string);

Технически это не должно иметь значения, но ....

0 голосов
/ 11 ноября 2010

Возможно, так как строковая переменная используется в лямбда-функции (в $ .each), JavaScript не является сборщиком мусора.

Попробуйте добавить:

delete string

кконец функции успеха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...