Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Динамическое автообновление части страницы


Автор: Oriander 19.7.2009, 23:54
Подскажите, как реализовать автообновление
переменной черед БД на странице, без самостоятельного браузерного обновления.
На пример, на сайте "Вконтакте" до регистрации выводится 
статистика о количестве пользователей в реальном времени.
Буквально за каждую секунду +5(10) пользователей.

И причем как-то сама область с переменной обновляется, а
не вся страница. Может, то фрейм, div, или еще что?


 smile 

Автор: youri 20.7.2009, 02:43
http://javascript.ru/tutorial/ajax

Автор: Aliance 20.7.2009, 14:49
Вконтакте, к слову, на сколько я помню, данные фейковые. Там изначальное только число правильное - остальное просто js-ом через таймаут обновляется, никак не являясь результатом ajax-запроса.

Автор: Oriander 20.7.2009, 19:09
т.е. статистика, которая там есть - ложна?

Автор: X2com 6.8.2009, 20:34
Вконтакте там такая ситуация: Если каждую секунду к такой обьемной базе посылать SQL запрос, то она просто загнется, поэтому там сделан счетчик, который прибавляет число пользователей, высчитанное из статистики, и раз в день подгоняется к реальному числу пользоватей в базе, и все это сделано, если я не ошибаюсь, действительно на javascript 

Автор: youri 6.8.2009, 21:26
Цитата(X2com @  6.8.2009,  20:34 Найти цитируемый пост)
Если каждую секунду к такой обьемной базе посылать SQL запрос, то она просто загнется, поэтому там сделан счетчик, который прибавляет число пользователей, высчитанное из статистики, и раз в день подгоняется к реальному числу пользоватей в базе

а откуда такая информация?

Автор: IDVsbruck 7.8.2009, 03:48
Ну, это что-то новенькое ... во-первых, база легко справится с такой нагрузкой, а во-вторых, кеширование отменили уже?

Автор: InfMag 7.8.2009, 09:33
Не надо человеку сразу совать аякс, он лишь спрашивает как менять динамично какую-либо область.

Oriander, вот допустим Вы можете в коде вставить такой вот тег с определённым ID:
Код
<span id="edittext"></span>

И в JS вы можете изменить значение на что угодно:
Код

document.getElementById('edittext').innerHTML = 'Всем привет, тут динамически меняется текст...';

Вот например так можно еще что бы он наглядно менялся:
Код

var vi=0;
setTimeout("function(){vi++;document.getElementById('edittext').innerHTML='Сейчас на моём мегасайте '+vi+' человек! Он епически посещаем!';}", 500);


Добавлено через 12 минут и 49 секунд
Извиняюсь, погрешил:
Код

<span id="edittext">1</span>
<script type="text/javascript">
var vi=0;
function ttt()
{
    vi++;
    document.getElementById('edittext').innerHTML = 'Сейчас на моём мегасайте '+vi+' человек! Он епически посещаем!';
    setTimeout("ttt()", 500);
}
ttt();
</script>

Автор: Oriander 9.8.2009, 15:46
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)