Ответ 1
Я использую sorttable чрезвычайно быструю библиотеку javascript для сортировки таблиц. (не JQuery)
У меня есть таблица с примерно 250 строками (может удваиваться в течение 6 месяцев) и 50 столбцов на этой странице (предупреждение: медленно с IE). Я использую JQuery Table sorter. Но IE 7 слишком медленный: он дает предупреждение о медленном javascript и спрашивает, хочу ли я его остановить. Я потратил много времени, чтобы улучшить производительность, поэтому он отлично работает для всех других браузеров:
Моя версия javascript здесь. Думаю, я не могу его оптимизировать гораздо больше. Я ищу еще одну быструю реализацию сортировщика таблиц или любую хорошую оптимизацию, о которой я, возможно, забыл, так что IE 7 не будет жаловаться на время выполнения.
Изменить: Я отключил сортировку по 35 столбцам, это еще слишком долго для IE
Я использую sorttable чрезвычайно быструю библиотеку javascript для сортировки таблиц. (не JQuery)
Я большой поклонник сортировщика таблиц JQuery Кристиана Баха... http://tablesorter.com/docs/
EDIT. Любой, кто интересуется tablesorter, должен увидеть, что Mottie сделал с ним: https://github.com/Mottie/tablesorter p >
Большинство JScript-решений, которые работают медленно, имеют много взаимодействия с DOM. В настоящий момент, когда вы выполняете редактирование уровня строки на уровне DOM, это займет много времени в IE. Если вы строите HTML в строке, а затем сразу же помещаете его в DOM, это будет намного быстрее. (На последнем PDC были некоторые демонстрации, показывающие именно это.)
Но мораль этой истории здесь такова, что ваш стол довольно большой. Вы можете подумать об использовании REST, со страничным поиском и сортировкой, а также с некоторой логикой на стороне сервера. Я думаю, что это может быть намного быстрее и отлично работает с JQuery. (И это все еще решение AJAX.) Это может даже сэкономить вам некоторую пропускную способность...
Надеюсь, это поможет.
Замечание о любых ссылках на applyWidget и их соответствующие привязки, а также удаление неиспользуемых парсеров сыграло большую роль в таблице 500 строк в IE6 (да, я знаю, но она все равно не умрет).
Одна из худших вещей, которые вы можете сделать, это использовать eval(), и я вижу это в вашем коде. Вы должны прокомментировать свой код и посмотреть, где находится узкое место.
Отличным и надежным вариантом является этот плагин jQuery, называемый DataTables.
Если вы работаете с серьезными большими базами данных, попробуйте серверную сторону с DataTables (плагин jQuery).
В основном все пейджинг, фильтрация, сортировка и т.д., которые делают DataTables, могут быть переданы на сервер (или любой другой источник данных).
Полный пример: http://datatables.net/examples/data_sources/server_side.html
Проблема в функции buildCache (таблица) Строка 219 Ошибка: "all_data" не определен