trzczy
12.12.2017, 10:55:53
Mam stronę php, która generuje się dosyć wolno. Przyczyną jest czekanie na response php api. Chciałbym dorobić loader animowany typu gif, by uatrakcyjnić czas oczekiwania przez usera. Bywa nawet 10 sek.
Czy to się tak robi:
Powinna być zupełnie odrębna strona, która ma tego gifa i ta strona przez ajaxa pobiera tę zasadniczą stronę php i czeka na pobranie tej strony php. Po pobraniu strony php, za pomocą js gif jest usuwany.
Czy jakoś inaczej to można zrobić?
Z góry dziękuję
rad11
12.12.2017, 11:01:26
Tutaj masz fajna biblioteczke do takich rzeczy
http://github.hubspot.com/pace/docs/welcome/
SmokAnalog
12.12.2017, 13:27:20
Jeśli chodzi tylko o generowanie GIF-a, to jako użytkownik wolałbym widzieć normalną stronę od razu, a tylko na elemencie obrazka widzieć animowany loader. Dla komfortu przeglądania strony lepiej, gdy będę miał dostęp do innych elementów i informacji zanim ten element się załaduje.
Jeśli GIF jest wyświetlany jednorazowo, to nie ma sensu go zapisywać do pliku i od razu wyrzucać. Lepiej podlinkuj obrazek bezpośrednio do skryptu, który go generuje, czyli pewnie pliku .php.
trzczy
12.12.2017, 14:49:25
@SmokAnalog No wiem, ale pytam bardziej o zasadę techniczną. Jest animowany loader. Następuje pobranie strony. Loader znika. Owszem na tej stronie z loaderem mogą być jakieś elementy, zgoda.
@rad11 dzięki ciekawa rzecz
SmokAnalog
12.12.2017, 22:30:35
Na Twoim miejscu nie robiłbym żadnego loadera dla strony, tylko loader dla samego obrazka. Nie podałeś żadnych szczegółów o swoim projekcie, więc trudno tu konkretniej coś doradzić. Nie wiem czy obrazek się generuje na podstawie jakiegoś inputa i czy powinien istnieć po jego wygenerowaniu.
trzczy
13.12.2017, 08:42:38
Trochę chaotycznie opisałem, sorka. Moja strona pokazuje pewne dane generowane w pliku php. Powiedzmy, że pokazuje bardzo daleką cyfrę liczby Pi. To generowanie trwa czasem nawet 15 sek. Chodzi oto, żeby w czasie oczekiwania na wynik wyświetlał się animowany GIF. Takie gify, o ile dobrze kojarzę, nazywa się loaderami.
viking
13.12.2017, 09:05:06
Wysyłasz ajaksowe żądanie, po wysłaniu odkrywasz jakiś blok (tekst, grafika, cokolwiek), na done/fail ukrywasz go. I tyle.
trzczy
13.12.2017, 15:35:11
Ok, to już nie mam wątpliwości. Myślałem, że jest jeszcze jakiś inny sposób, coś w rodzaju podwójnej odpowiedzi serwera: najpierw strona początkowa, a za kilka sekund treść, ale ostatecznie dam se spokój z poszukiwaniami tego typu.
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.