![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 0 Dołączył: 7.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam na stronie system wiadomości.
Ale to czy jest nowa dowiemy sie dopiero po odświeżeniu strony. A jak zrobić by automatycznie odświeżała się każda strona kiedy nadejdzie wiadmość ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Uzyj AJAXA albo Websocket.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 23 Dołączył: 23.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak kolega wyżej napisał, masz dwie opcje:
1. Łatwiejsza, AJAX. Tutaj wykorzystujesz JavęScript, najprościej jest zaciągnąć do tego gotową bibliotekę jQuery (jest bardzo prosta i poznanie podstaw zajmie Ci chwilę). Koncepcja jest taka, że w przeglądarce odpalasz skrypt JavaScript, który co X czas wykonuje request "w tle", odpytując serwer o nowe wiadomości. Jeśli są nowe wiadomości, wtedy robisz update widoku (przy pomocy jQuery). Ustawiasz gdzieś na serwerze skrypt (lub jakiś kontroler jeśli używasz frameworka), następnie przy pomocy jQuery wysyłasz do tego skryptu request "w tle" (użytkownik tego nie widzi, strona nie jest refreshowana), jQuery odpala skrypt PHP, wtedy PHP zwraca wynik jQuery (to co dasz w returnie, to dojdzie do jQuery), i decydujesz co zrobić. 2. WebSockety - to już wyższa pierdolencja. Tutaj utrzymujesz stale połączenie z przeglądarką i na bieżąco otrzymujesz informacje. Ten temat jest troszkę grubszy i musiałbyś się bardziej napracować. Polecam zacząć od AJAX-a, a później w miarę sił spróbować WebSocketów. ; ) Ten post edytował Dejmien_85 4.02.2015, 23:09:39 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Nie polecam niczego z powyższych jeśli piszesz stronę która powinna być przystosowana także pod urządzenia mobilne, a nie używasz wcześniej na stronie ajax/jQuery to...
Lepiej poczytaj o XMLHttpRequest, na im i tak się opierają w.w. biblioteki (ajax itp) tyle że mniej zamuli. Ostatnio pisałem taki skrypt i waży mniej niż 0,90 kB po kompresji + nie muli na telefonach nawet. Przy okazji: lepiej zmieniać tytuł niż odświeżać (document.title='Nowe wiadomości') Ten post edytował Ksar 5.02.2015, 10:47:51 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
@Ksar - już dawno takich bzdur nikt tu nie pisał.
Jest też 3 opcja i nazywa się "long polling". -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
@Ksar - już dawno takich bzdur nikt tu nie pisał. Jest też 3 opcja i nazywa się "long polling". O ile to o mnie to tak się składa że coraz więcej użytkowników przegląda sieć przez urządzenia mobilne (także ja), i na każdą stronę gdzie wchodzę, a jest jquery - zamula, więc gdzie bzdura?, rozumiem że masz najlepszy sprzęty z internetem LTE i na im testujesz swoje dzieła nie patrząc na innych? Ten post edytował Ksar 5.02.2015, 12:56:12 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
@up - jeśli strona Ci zamula i uważasz, że to wina biblioteki, to prawdopodobnie zrobiłeś coś źle, a nawet bardzo źle.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
@up - jeśli strona Ci zamula i uważasz, że to wina biblioteki, to prawdopodobnie zrobiłeś coś źle, a nawet bardzo źle. Nie piszę że każda... (Np. To forum nie tnie mi w ogóle na chrome-na tablecie), Jednak są serwisy które mi zacina np. Słynne na tym forum jsfiddle. A ja pisze strony co nawet na słabych telefonach nie ścinają się. Łącze do tego mam raczej słabe, ale nawet gdyby to i tak przeglądarki cacheują skrypty, a skoro mi nadal tną takie strony to.....? (Opere mobile raz mi wyłączyło). -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tylko, że to nie jest wina biblioteki, ajax/xhr, tylko Twoja, lub osób które pisały te strony, ewentualnie Twojego operatora. Większość osób wpycha JS przed załadowaniem, zamiast PO, a że operują na DOM, to są spowolnienia. Tak samo może być w przypadku usługodawcy który ma problemy z połączeniem się z serwerami jquery lub google, jeśli dałeś JS przed, to czasami nawet nie zobaczysz strony, bo przeglądarka czeka, aż zakończy się żądanie pobierania pliku, ale nie ma to nic wspólnego z biblioteką.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 23 Dołączył: 23.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Oj, Ksar, strzeliłeś sobie w stopę teraz swoimi poglądami.
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Oj, Ksar, strzeliłeś sobie w stopę teraz swoimi poglądami. ![]() Hehe, i tak jestem zdania że dla średnio(ledwo) rozbudowanych stron lepiej dla jednej rzeczy pliczek 0,90 kB z XH, niż (60~kB?) ajax żeby odświeżyć stronę(i chyba nic więcej?) ![]() ale nie będę się kłócił z połową forum ![]() -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 23 Dołączył: 23.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Hehe, i tak jestem zdania że dla średnio(ledwo) rozbudowanych stron lepiej dla jednej rzeczy pliczek 0,90 kB z XH, niż (60~kB?) ajax żeby odświeżyć stronę(i chyba nic więcej?) ![]() ale nie będę się kłócił z połową forum ![]() Nie będę ukrywał tego, że masz rację jeśli chodzi o wydajność - zgadzam się! ; ) Przesadziłeś tylko z tym, że jQuery jest tak złe. Weź też pod uwagę, że nikt nie wspominał o mobilkach (także dżihad wywołałeś na własne życzenie ; D) i tutaj mamy porady dla początkującego Rambo, także dla niego lepiej będzie użyć jQuery, bo z Vanilla JavaScript może się za bardzo męczyć. Z doświadczenia wiem, że początkującym trzeba przedstawiać rzeczy dead simple, bo inaczej po prostu mogą nie dać rady, albo się zniechęcić stopniem skomplikowania. Poza tym, głowa do góry, każdy czasem dostaje baty za poglądy, każdy z nas błądzi. ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hehe, i tak jestem zdania że dla średnio(ledwo) rozbudowanych stron lepiej dla jednej rzeczy pliczek 0,90 kB z XH, niż (60~kB?) ajax żeby odświeżyć stronę(i chyba nic więcej?) ![]() ale nie będę się kłócił z połową forum ![]() Po świecie szaleją peta/zotta bajty a ten się o kilka kb martwi ![]() Poza tym możesz wydzielić opcję z jquery samego ajaxa i też masz swoje kilka kb z tą różnicą, że masz pewność iż to będzie działać na każdej przeglądarce, bo założę się, że nie testowałeś swojego xhr i tych 0,90kb na np. khtml Ten post edytował !*! 6.02.2015, 09:40:24 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 04:14 |