2011-01-07 3 views
2

Как уведомление может быть показано после того, как мы получаем новое сообщение, такое как FACEBOOK, без обновления страницы. (facebook показывает RED уведомление о цвете после получения нового сообщения).Как отправить уведомление о сообщении как Facebook

Спасибо

ответ

8

есть два способа там, вас опрос, или Comet.

  1. Опрос означает, что вы периодически задаете этот вопрос на своем сервере: «есть ли новое сообщение?» с Ajax. Если появляется новое сообщение, сервер возвращает его или количество новых сообщений.
  2. Или вы можете реализовать какую-то комету. Комета - это технология, которая содержит открытые связи между клиентом и сервером. Поскольку существует открытое соединение, ваш сервер может отправлять клиентам новую информацию.

После того, как количество новых сообщений прибыло к вам, вы можете редактировать DOM с помощью Javascript, чтобы показать красное уведомление везде, где вы хотите.

+0

Спасибо @Samet. Вы представили мне новую технологию! Это то, чего я ожидаю. Можете ли вы предложить мне какие-либо источники для этого. – KillerFish

+0

http://en.wikipedia.org/wiki/Comet_(programming) http://en.wikipedia.org/wiki/Push_technology http://en.wikipedia.org/wiki/BOSH http: //en.wikipedia .org/wiki/WebSockets Вы можете посмотреть их. –

3

Вы должны использовать setInterval периодически проверять наличие новых обновлений, а затем, если они будут найдены, использование Ajax, чтобы тянуть в сообщении.

+0

Поскольку вы уже делаете запрос, вы можете просто обновить контент ... Нет необходимости делать дополнительную проверку ... – CarpeNoctumDC

+1

Да @Matt: Вы правы, но я сомневаюсь, что если миллионы запросов поступают из партии пользователей в течение определенного периода времени (скажем, 5 секунд) - это бремя для базы данных? – KillerFish

+0

Вам нужно посмотреть на балансировку нагрузки на вашу базу данных. Посмотрите на такие вещи, как интервал, вам действительно нужны каждые 5 секунд, когда 30 могут делать; сколько у вас пользователей, и вам нужно взглянуть на какое-то решение масштаба предприятия, а не на один сервер. –

1

Самый простой способ заключается в использовании JQuery для обновления содержимого DIV на sepecific интервале ...

#idofdivtoupdate 

, как он говорит .. идентификатор DIV вы хотите автоматическое обновление ...

setinterval в миллисекундах .. (так 5000 проверяет каждые 5 секунд)

function updatecontent(){ 
$('#idofdivtoupdate').load('yourserverscript.php'); 
} 

setInterval("updatecontent()", 5000); 
0

Если вы правильно поняли, вам нужно искать технологию AJAX, ее комбинацию JavaScript и XML, которая позволяет отправлять и получать данные за кулисами, т.е. без необходимости обновлять страницу. Theres много учебников/информации там об этом и его не трудно получить повесить, надеюсь, что это помогает.

Смежные вопросы