Doszedłem do wniosku, że używanie jQuery do tworzenia strony klienta HTML może być ogromnym zwiększeniem wydajności, jeśli zostanie wykonane prawidłowo. Używam JSON zwracającego AJAX do pobierania dynamicznej zawartości, a następnie buduję odpowiedni HTML i wstawiam go za pomocą jQuery. Za pierwszym razem, gdy użyłem tej techniki, odkryłem, że konkatenator łańcuchów w JavaScript IE działał bardzo wolno, tak że tworzenie dynamicznego stołu z ponad 50 wierszy wykonywało strasznie.jQuery i dołączanie dużych ilości HTML
var shtml = '<table>';
for (var i = 0; i < 100; i++) {
shtml += '<tr><td>A bunch of content</td></tr>';
}
shtml += '</table>';
$('#myTable').append(shtml);
Potem znalazłem technikę łączenia strun, która zmieniła wszystko. Zamiast używać operatora żądło +=
używać tablice do konkatenacji;
var shtml = ['<table>'];
for (var i = 0; i < 100; i++) {
shtml.push('<tr><td>A bunch of content</td></tr>');
}
shtml.push('</table>');
$('#myTable').append(shtml.join(''));
Zauważyłem, że wydajność znacznie się poprawiła. Teraz jednak istnieje pułap około 100 rzędów, zanim zacznę widzieć samą walkę przeglądarki z dynamicznym wstawianiem tak dużej ilości treści naraz. Czy ktoś ma jakieś wskazówki lub techniki, które można wykorzystać, aby pomóc mi osiągnąć kolejny wzrost wydajności dla dużych zestawów dynamicznego HTML?
Obserwacja: W przykładzie, jesteś naprawdę wykazujące zwiększenie wydajności ze względu na rodzimy ciąg i tablicę Javascript w manipulacji, nie jQuery. –