Как повысить производительность jQuery - PullRequest
2 голосов
/ 10 сентября 2009

У меня есть приложение для чата, написанное на jsp и jQuery. Я использовал метод setTimeout для потоков, которые постоянно публикуют запросы в некоторых URL. Мой браузер зависает через некоторое время, и загрузка процессора очень высока.

Есть ли способ повысить производительность JS?

Ответы [ 3 ]

1 голос
/ 10 сентября 2009

Проверьте это: http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx#tip1

В нем есть несколько действительно хороших рекомендаций, таких как:

  • Сохранение операций выбора на минимальном уровне путем кэширования
  • Минимум манипуляций с DOM
  • По возможности используйте идентификаторы вместо классов
  • Дайте вашим селекторам контекст
0 голосов
/ 10 сентября 2009

Ну, я пробежался по этому, прежде чем вот что я сделал (кстати, это не имеет ничего общего с jquery):

try {
    window.clearInterval(x);
} catch(e) {
    // do nothing
}
x = setInterval(Update, 1000);

в вашем случае вы должны очистить Timeout:)

попробуйте это:

refresh() { $.post("./chatServlet",  {  message: "hxci",  name: $("#author").val(),  event: "AUTOROOMMESSAGE",   roomname: $("#select").val() },   function(xml)   {   $("#msg").empty();   addMessages(xml);    });    try {    window.clearInterval(x);}    catch(e) {       }     x = setInterval(refresh, 3000);   }
0 голосов
/ 10 сентября 2009

Вы пробовали отладку с Firebug ? Вы можете использовать его для отладки JavaScript, отслеживания запросов и ответов и многого другого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...