Каковы (если таковые имеются) последствия постоянного обновления / потоковой передачи AJAX в браузере - PullRequest
1 голос
/ 17 февраля 2011

Если бы я использовал этот базовый код jQuery AJAX:

                $.ajax
                    ({
                    type: "POST",
                    url: "email.php",
                    data: data,
                    cache: false,
                    success: function(html)
                        {
                            $('#success').html(html);   
                        }
                });

И у меня было это на 10 секундной функции setInterval и оставил ее включенной на день, неделю, месяц?Какие неблагоприятные последствия это может оказать на браузер, с точки зрения кеша, памяти, процессора и т. Д.?

Кроме того, он будет иметь какие-либо эффекты вообще?

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Если не происходит утечка памяти, это не должно быть проблемой в теории , но единственный способ убедиться в этом - выполнить тестирование вашей системы в выбранном вами браузере.

Однако вы, возможно, используете не самое оптимальное решение для этой проблемы: возможно, вам нужно будет настроить задачу cron на сервере и периодически проверять ее состояние с помощью $ .ajax; таким образом вы сэкономите пропускную способность, и вам не нужно будет постоянно держать браузер открытым.

1 голос
/ 17 февраля 2011

По моему опыту, это действительно зависит от объема информации, которую вы пытаетесь отправить. Если это 200 байт каждые 10 секунд, никто не заметит, но попытка получать 1 КБ каждые 3 секунды определенно не заметна на старых компьютерах.

Самой большой проблемой, вероятно, является использование воспоминаний. Если вы не создадите свой код тщательно, сборщик мусора не сможет собирать закрытия функций для каждого запроса ajax. С течением времени это будет довольно большое количество воспоминаний (например, 1 ГБ оперативной памяти в FireFox за час).

Конечно, это все личный опыт, и ваш собственный опыт может быть очень хорошим, но я бы рекомендовал против этого.

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