Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: chat w "czasie rzeczywistym"
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
dragomir
napisalem sobie shoutboxa, poczatkowo w czystym php (refresh co iles tam sekund) - wszystko dzialalo, ale troche "wolno". Postanowilem jakos zatem go przerobic, tutaj poratowal mnie moj kolega podajac pewne rozwiazanie. Implementacja wyglada tak:

gdzies w pliku z shoutboxem znajduje sie:
Kod
<script id="console" type="text/javascript"></script>


do tego funkcja ktora wywoluje sie co kilka sekund:
Kod
function update_console() {
consoleHandle = document.getElementById("console");
consoleHandle.src = 'console_action.php?z=' + number.toString();
}


w console_action.php mamy kod php ktory laczy sie z baza mysql, pobiera dane, formatuje i zwraca w formie:
Kod
document.getElementById('content').innerHTML="TUTAJ SA DANE";


content to po prostu element <div>:
Kod
<div id="content"></div>


podany argument z, czyli zmienna number, to liczba ktora zwieksza sie co okreslona ilosc sekund (wtedy tez nastepuje wywolanie update_console() ) - tak aby adres do console_action.php za kazdym razem wygladal inaczej i dzieki temu mogl sie wczytac.

Wszystko wyglada pieknie, wygladalo rowniez pieknie na Operze (8.02), problemy zaczely sie po uruchomieniu strony na mozilli i najnowszej wersji firefoxa - w oby wypadkach bylo to samo - nie mozna bylo przeslac parametrow do pliku console_action.php, ktore to parametry byly w zmiennych JS (zmienna number) przez co adres do console_action.php zawsze byl taki sam i zawartosc shoutboxa sie nie odswiezala... probowalem na rozne sposoby jakos "poskladac" zmienne, wzystko na nic... prosze zatem o pomoc - jesli mozliwe jest dodanie tego parametru w inny sposob lub jesli mozliwe jest rozwiazanie odswiezania shoutboxa inaczej. Bardzo zalezy mi przy tym by uzyc "conajwyzej" js - wszelkie rozwiazania typu aplety Javy odpadaja. Na Ajaxie sie nie znam i tez nie chcialbym go ruszac, ale jesli to bedzie konieczne...

pozdrawiam
dr_bonzo
Wlasnie ajax jest do czegos takiego stworzony: js wysyla zapytanie do serwera (doajac nowy wpis i pobierajac nowe wpisy) a potem tworzysz dodatkowe wpisy w istniejacej juz warstwie/tabeli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.