Tôi đã tìm thấy rằng việc sử dụng jQuery để tạo ra phía máy khách HTML có thể là một tăng cường hiệu suất rất lớn nếu được thực hiện đúng cách. Tôi sử dụng AJAX trả về JSON để lấy nội dung động và sau đó tôi xây dựng HTML có liên quan và chèn nó bằng cách sử dụng jQuery. Lần đầu tiên tôi rối tung với kỹ thuật này, tôi thấy rằng chuỗi nối trong JavaScript của IE thực hiện chậm để xây dựng một bảng động với hơn 50 hàng được thực hiện một cách khủng khiếp.jQuery và nối thêm một lượng lớn 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);
Sau đó, tôi tìm thấy một kỹ thuật ghép chuỗi đã thay đổi mọi thứ. Thay vì sử dụng sting +=
toán tử sử dụng mảng để làm nối;
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(''));
Tôi nhận thấy hiệu suất được cải thiện đáng kể. Bây giờ, tuy nhiên, có một trần khoảng 100 hàng trước khi tôi bắt đầu thấy bản thân trình duyệt đấu tranh với việc chèn động rất nhiều nội dung cùng một lúc. Có ai có bất kỳ con trỏ hoặc kỹ thuật có thể được sử dụng để giúp tôi đạt được hiệu suất tiếp theo tăng cho bộ lớn của HTML năng động?
Một quan sát: Trong ví dụ của bạn, bạn đang thực sự thể hiện một hiệu suất tăng do chuỗi và mảng có nguồn gốc Javascript của xử lý, chứ không phải jQuery. –