Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax]czat oparty na technologi ajax, czat ajax
faran
post 25.06.2009, 11:26:32
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
Go to the top of the page
+Quote Post
sticker
post 25.06.2009, 11:43:29
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


--------------------
Go to the top of the page
+Quote Post
kamil4u
post 25.06.2009, 11:47:16
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 smile.gif


--------------------
Go to the top of the page
+Quote Post
faran
post 25.06.2009, 12:37:59
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
Go to the top of the page
+Quote Post
erix
post 25.06.2009, 13:34:10
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!
Go to the top of the page
+Quote Post
Crozin
post 25.06.2009, 14:26:18
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()).
Go to the top of the page
+Quote Post
faran
post 25.06.2009, 15:12:34
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 ?
Go to the top of the page
+Quote Post
Crozin
post 25.06.2009, 16:11:10
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


http://www.google.pl/search?hl=pl&q=ja...+Google&lr=
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 21:35