![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 27.10.2006 Skąd: CyberRZECZYWISTOŚĆ Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jestem w trakcie pisania czatu opartego na ajaxie. Każda rozmowa to jedno okno otwierane przez funkcje window.open. Nie wiem jak powiadomić usera o nowej wiadomosci od przeciownego rozmowcy. Wpadlem na pomysl aby zrobic tak ze jesli w oknie rozmowy ostatnia wiadomosc jest od przeciwnego rozmowcy to robie np. mrygający tytuł okna rozmowy(title). W przypadku gdy autorem ostatniej wypowiedzie jest sie samemu to tytul okna nie mryga. W zasadzie powyższe rozwiązanie wydaje mi się dość dobre. Problem dotyczy zdarzenia polegajacego na odczytaniu wiadomosci od przeciwngo usera, ale nie odpowiedzeniu na nią. Ma ktoś pomysł jak takie zdarzenie rozpoznać i wykonać odpowiednią akcje ?. Może ma ktoś zupełnie inny pomysł na rozwiązanie tego problemu ?. Ten post edytował faran 25.06.2009, 11:31:03 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
załóż jakiegoś obserwatora na obiekcie okna który jako callback będzie miał funkcje sparawdzającą czy jest nowa wiadomośc dla danej osoby na serwerze
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Ja bym nie stosował 'nowych okien', a zwykłego div-a imitującego takie okno. Dzięki temu można wykonać dowolne operacje.
Cytat Ma ktoś pomysł jak takie zdarzenie rozpoznać i wykonać odpowiednią akcje ?. Musisz sprawdzać co jakiś czas czy coś 'dostałeś' czy nie. Na podobnej(tej samej) zasadzie działają skrypty shoutbox-u. Przeanalizuj ich kod, a na pewno nie będziesz miał z tym problemów ![]() -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 27.10.2006 Skąd: CyberRZECZYWISTOŚĆ Ostrzeżenie: (0%) ![]() ![]() |
Problem nie polega na sprawdzeniu czy jest nowa/stara wiadomość na serwerze tylko problem jest w tym jak rozpoznać zdarzenie polegające na odczytaniu/zobaczeniu wiadomości przez osobe czatującą.
Ten post edytował faran 25.06.2009, 12:43:15 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Chyba ~nospor zmajstrował coś takiego. [;
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak działa Twój skrypt, ale zapewne tak, że co np. 3 sekundy wysyłasz AJAXem żądanie do serwera, a on zwraca wiadomości od ostatniego żądania w formie jakiegoś tam XMLa czy czegoś takiego. Masz pewnie jakiegoś callbacka z funkcją, która operuje na otrzymanych danych. To na jej końcu sprawdzasz od kogo pochodzi ostatnia wiadomość - jeżeli nie jest to wiadomość od Ciebie samego, a okno chatu jest nieaktywne to wtedy włączasz to mruganie (window.setInterval()) paska tytułu.
Później, jak okno chatu staje się aktywne, wyłączasz to (window.clearInterval()). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 27.10.2006 Skąd: CyberRZECZYWISTOŚĆ Ostrzeżenie: (0%) ![]() ![]() |
Jak sprawdzić czy okno jest aktywne ?
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 21:35 |