JQuery.Различная производительность на местном и через интернет - PullRequest
0 голосов
/ 20 января 2010

Я использую jQuery 1.4 для AJAX, MVC на стороне сервера. Все работает быстро на локальном компьютере. Таблицы с данными компилируются и отправляются в виде документов HTML (я тестирую систему с большими таблицами размером более 100 КБ). Когда я загружаю ту же страницу через Интернет, все работает в 5-10 раз медленнее или просто ожидает.

Я проверил отладчик Forefox. AJAX отправил запрос и быстро получил данные (я вижу полученный ответ с правильными данными). Но затем он вставляет данные в DOM очень медленно, особенно медленно работает следующая инструкция: $ ("# oldtable"). replaceWith (newtable); и пусто () Это работает очень медленно в IE6,8 (3 секунды на локальной машине и около 1 минуты через Интернет). Я удаляю данные из DOM как один объект и вставляю всю таблицу. Во вставленном HTML-коде нет ошибок.

Не могли бы вы порекомендовать, как заставить его работать быстрее? Вероятно, я должен использовать другую библиотеку, такую ​​как Prototype. Я не могу понять следующее: Javascript выполняется на стороне клиента, данные уже загружены. Компьютер такой же. Почему время выполнения так сильно отличается? Спасибо, Игорь

1 Ответ

0 голосов
/ 20 января 2010

Здесь много проблем:

1) Для быстрой вставки и очистки данных jquery иногда медленнее, чем прямые функции javascript, такие как .innerHTML.Хотя эти функции не являются частью стандарта, иногда их быстрое выполнение делает их привлекательными.

2) jquery - это javascript, поэтому он работает на клиенте.Если ваши файлы .js ДЕЙСТВИТЕЛЬНО не имеют большого размера, это не будет иметь большого значения, если вы загрузите их с локального хоста или с сервера в Интернете.

3) Функции AJAX - это запросы к серверу.Таким образом, это имеет большое значение, если вы загружаете большие объемы данных с локального хоста против сервера.

...