Tôi có một trang hiển thị ~ 300 trang giá trị của dữ liệu dạng bảng. Firefox, Chrome, Safari đều hoạt động tốt nhưng IE 7, 8 và 8 Khả năng tương thích xem tất cả các lỗi. Nó kéo dài trong vài giây khi tôi cố gắng cuộn hoặc nhấn nút lên/xuống trang.Điều gì có thể được thực hiện để cải thiện hiệu năng IE8 cho các tập dữ liệu lớn?
Phân trang, tập hợp dữ liệu nhỏ hơn và các đề xuất khả năng sử dụng khác sẽ không hoạt động cho trang này. Giả sử tôi hoàn toàn không có lựa chọn nào khác ngoài việc hiển thị tất cả dữ liệu này cùng một lúc ... một số điều tôi có thể làm để tinh chỉnh nó là gì?
Dữ liệu đang được tải qua jQuery/Ajax và dường như ít nhất là một phần nghi ngờ ở đây, bởi vì khi tôi tạo trang thử nghiệm để hiển thị trực tiếp kết quả, không phải là khá. gần như linh hoạt như các trình duyệt khác.
Tôi đã sử dụng thành công các plugin jQuery như SlickGrid để giải quyết các vấn đề tương tự trong quá khứ, nhưng vì lý do mất nhiều thời gian để giải thích chúng không phải là tùy chọn, ngay cả với khả năng hiển thị mẫu vi mô. Tôi chủ yếu quan tâm đến những điều chỉnh mà tôi có thể thực hiện để cải thiện hiệu suất mà không cần làm lại toàn bộ trang hoặc giới thiệu các giải pháp của bên thứ ba.
DOM đơn giản có tạo sự khác biệt lớn không? Hay IE không xử lý dữ liệu được đưa vào qua JavaScript/Ajax?
tôi rất nghi ngờ (dựa trên rất nhiều kinh nghiệm với các trang lớn trong IE) mà nó có nhiều việc phải làm với khả năng cơ bản của IE để xử lý một lớn DOM và không liên quan nhiều đến DOM được cập nhật động. Một điều cũng có tác dụng lớn là CSS của bạn. Nếu bạn có rất nhiều bộ chọn CSS "container", tôi đã thấy IE làm chậm khá nhiều (mặc dù đó là IE6 và IE8 tốt hơn rất nhiều). – Pointy
Ngoài ra, bạn phải xem xét liệu IE (hay bất kỳ trình duyệt web nào khác) được thiết kế để xử lý 300 trang dữ liệu! –
Tôi không có URL nữa (xin lỗi đã lâu rồi). Tôi nghĩ rằng tôi nhớ đọc một cái gì đó mà IE6 (có thể là 7 cũng) sẽ chỉ đơn giản là sụp đổ một khi rất nhiều hàng trong một bảng đã được nạp và/hoặc bộ nhớ bị rò rỉ. Nếu bạn phải tải nó trong một trang, bạn nghĩ gì về việc làm một cái gì đó tương tự như cách Google Reader hoạt động? Tải lên 50 đầu tiên, hoặc lâu hơn, và sau đó khi người dùng cuộn xuống, nó sẽ tải 50 tiếp theo, hay như vậy? Bằng cách này, bạn sẽ không thực hiện một tấn công việc cùng một lúc, nhưng nó vẫn hoạt động như bạn muốn ... – Justin