PDA

Zobacz pełną wersję : preload, a moze nie? - ładowanie zdjęć w "tle" jak?



Alzail
26-07-2007, 11:40
Szukam już parę ładnych minut jak to zrobić i nie znalazłem...

Chodzi mi o taki efekt że gdy ktoś wchodzi na stronę galerii, gdzie są miniatury i po załadowaniu tych miniatur, następuje automatyczne ładowanie zdjęć głównych tak żeby po kliknięciu w miniaturkę nie trzeba było czekać aż się załaduje fotka. Nie chodzi mi to o taki efekt że przed otwarciem strony ładują się wszystkie pliki i dopiero po załadowaniu można cokolwiek robić na stronie. Może to być np. w javascript ale jak można inaczej prosto to też będzie ok.

pozdrawiam

muflon
26-07-2007, 12:04
Najprosciej jest nie ladowac obrazki, ale je cache'owac, potem "zaladowanie" to juz chwila (no, pomijam sytuacje, gdy masz na stronie kilkadziesiat MB zdjec ;-)). W ogolnosci, to w javascripcie musisz zrobic cos takiego:

- stworzyc sobie nowy obiekt Image
- dac mu onload=jakas_procedurka
- ustawic src na pierwszy duzy obrazek

... a w jakas_procedurka:
- ustawiac src na kolejne duze obrazki, z kazdym wywolaniem, az do ostatniego

Do tego mozna dodawac rozne bajery typu wskazania, ktore sie juz zaladowaly (zmiana bordera thumbnaila czy cos) itp. Ewentualnie po chamsku, zaladowac na raz wszystkie, ale tu zysk moze byc pozorny.


Nie, nie napisze tego JS za Ciebie :-P

canis_lupus
26-07-2007, 12:08
Zrób stronę tak aby miniatury były duzymi plikami zmniejszonymi tylko przez przeglądarkę. Wtedy będą siedziały w cache.

EchoX
26-07-2007, 12:37
canis_lupus to jest najgorsze rozwiazanie jakie moze byc, cholera mnie bierze kiedy musze czekac absurdalnie dlugo, aby zaladowaly sie miniaturki, jeszcze jaki ich jest ponad 30 na stronie.... tragedia

Alzail daruj sobie tego typu rozwiazania, jak masz ciekawe fotki to kazdy poczeka

IMHO do zaakceptowania jest propozycja muflon, z tym ze ladowanie duzych fotek powinno nastapic dopiero po wyswietleniu miniaturek

schabu
26-07-2007, 12:39
chodzi Ci o taki bajer jaki mam u siebie na stronie głównej?

EDIT: kurde - ale trafiłem z momentem. właśnie trwają prace remontowe na serwerze hehe i nie zobaczysz tego teraz:)

orzeh
26-07-2007, 12:41
canis_lupus to jest najgorsze rozwiazanie jakie moze byc, cholera mnie bierze kiedy musze czekac absurdalnie dlugo, aby zaladowaly sie miniaturki, jeszcze jaki ich jest ponad 30 na stronie.... tragedia

właśnie miałem to napisać :)


Alzail daruj sobie tego typu rozwiazania, jak masz ciekawe fotki to kazdy poczeka

IMHO do zaakceptowania jest propozycja muflon, z tym ze ladowanie duzych fotek powinno nastapic dopiero po wyswietleniu miniaturek

z kolejnością ładowania to może być trudno, bo przeglądarki asynchronicznie ładują zdjęcia, ale rozpoczęcie ładowania zdjęć na onload strony powinno byc ok.

muflon
26-07-2007, 12:51
z kolejnością ładowania to może być trudno, bo przeglądarki asynchronicznie ładują zdjęcia, ale rozpoczęcie ładowania zdjęć na onload strony powinno byc ok.
To sie rozumie samo przez sie ;-) onload albo jakies ondomready.

Tomasz Golinski
26-07-2007, 12:56
Muflon, to kiedy nowy ficiur w skrypcie? ;)

muflon
26-07-2007, 13:10
Muflon, to kiedy nowy ficiur w skrypcie? ;)
Taaa, zwlaszcza w kontekscie podtytulu "completely static web image gallery" :lol:

Alzail
26-07-2007, 13:28
Muflon dzięki za propozycje, skąd wiedziałeś że o to zapytam ? :D

Jeszcze małe pytanko, ten skrypt ma być przy każdej miniaturce czy ten jeden będzie cachował wszystkie zdjęcia na raz?

proste pytanie :) czy to ma wyglądać mniej więcej tak?



<a href="duzy obrazek"><img src="miniaturka" onload="duzy obrazek"></a>


?

Jeżeli mniej to bardzo proszę o poprawienie, a jeśli w ogóle.. hmm może jednak Muflon ? :P

muflon
26-07-2007, 13:34
Poczytaj jakis dobry kurs JS ;-) bo jak odpowiem na to pytanie, to pojawi sie kolejne... i kolejne... Ideologie masz napisana, sam pokombinuj jak to wprowadzic w zycie.

dgi
26-07-2007, 13:42
chodzi Ci o taki bajer jaki mam u siebie na stronie głównej?

EDIT: kurde - ale trafiłem z momentem. właśnie trwają prace remontowe na serwerze hehe i nie zobaczysz tego teraz:)

Takie rzeczy to można i bez JS :)

http://www.dynamicdrive.com/style/csslibrary/item/css-image-gallery/

Alzail
26-07-2007, 13:44
dobry kurs, z tym to czasami też jest spory problem ;/

Myślę że więcej pytań nie będzie, a kurs tak czy siak jakiś sobie poczytam, nawet po to by nie tylko wiedzieć jak "onLoadowac" obrazki :). Jednak zawsze łatwiej czytać nawet kurs jak się ma jakiś gotowy skrypcik który można przeanalizować :D

muflon
26-07-2007, 13:45
http://www.dynamicdrive.com/style/csslibrary/item/css-image-gallery/
Nie jestem pewien, czy to nie laduje wszystkiego od razu. Wbrew pozorom display:none itp. sztuczki nie powoduje, ze przegladarka nie sciaga obrazka ;-) Choc teoretycznie (wg specyfikacji) powinno :(

dgi
26-07-2007, 14:29
Choc teoretycznie (wg specyfikacji) powinno :(

A to prawda. Zgodność ze standardami to już inna kwestia ;)

robgr85
26-07-2007, 15:09
Nie jestem pewien, czy to nie laduje wszystkiego od razu. Wbrew pozorom display:none itp. sztuczki nie powoduje, ze przegladarka nie sciaga obrazka ;-) Choc teoretycznie (wg specyfikacji) powinno :(


ładuje od razu, wyświetla po najechaniu na obrazek.

nie jest problemem to że ładuje od razu (dzisiaj nie jest to tak problematyczne jak w epoce modemów analogowych 56k), największy kłopot nastąpi wtedy gdy galeria będzie dobra i przez to często odwiedzana - szybko stuknie limit transferu na serwerze.

Pozdr.

muflon
26-07-2007, 16:35
nie jest problemem to że ładuje od razu (dzisiaj nie jest to tak problematyczne jak w epoce modemów analogowych 56k), największy kłopot nastąpi wtedy gdy galeria będzie dobra i przez to często odwiedzana - szybko stuknie limit transferu na serwerze.
Jest :) i wbrew pozorom nie ma to nic wspolnego z modemami 56k ;-) Bo jesli ni z tego ni z owego przegladarka zacznie Ci ladowac kilkadziesiat jpegow full-size na raz to w efekcie wszystko bedzie wygladalo... wlasnie jak na modemie :lol:

A pod wzgledem limitu to na jedno wychodzi, bo zakladajac, ze gosc nie zamknie strony po kilku sekundach, to preloader i tak wessa wszystko co ma wessac.

robgr85
26-07-2007, 17:29
Jest :) i wbrew pozorom nie ma to nic wspolnego z modemami 56k ;-) Bo jesli ni z tego ni z owego przegladarka zacznie Ci ladowac kilkadziesiat jpegow full-size na raz to w efekcie wszystko bedzie wygladalo... wlasnie jak na modemie :lol:


eee tam trochę chyba przesadzasz. Nie wiem kto (może jakiś przykład?) umieszcza w swojej galerii pliki w pelnej rozdzielczości - pierwsza sprawa to już wspomniane limity transferów na serwerze, a druga (właściwie ważniejsza) - najczęściej wykorzystywaną rozdzielczością monitorów jest 800x600 (choć coraz szybciej dogania ją 1024x768) więc strona zawierająca wielkie zdjęcia byłaby okropnie nieczytelna. Dodać do tego jakieś dodatki na stronie, liste miniaturek itp, optymalne zdjęcie go galerii internetowej powinno mieć mniej więcej 600x400, a nawet mniejsze wymiary... dodać do tego łącze 1Mbit (baardzo popularne, nie wspomne o szybszych) i załadowanie galerii nawet kilkudziesięciu zdjęć nie zajmnie jakiegoś ogromnego czasu. Oczywiście lepiej by było wykożystać łądowanie dynamiczne obrazków, ale wspomniany wyżej skrypt ładuje zdjęcia przy wejściu na stronę :>

pozdrawiam,

edit: dynamicznie ładuje obrazki simpleviewer - może on wystarczy autorowi tematu?

Alzail
26-07-2007, 18:37
edit: dynamicznie ładuje obrazki simpleviewer - może on wystarczy autorowi tematu?

Może :) ale cóż to jest ? :D

A tak w ogóle to chyba faktycznie sobie to odpuszczę, chyba że uda mi się zrobić to o czym pisał Muflon :) Bo opcja że ładuje mi wszystkie pliki za nim otworzy się strona mi nie pasuje.

muflon
26-07-2007, 19:13
najczęściej wykorzystywaną rozdzielczością monitorów jest 800x600 (choć coraz szybciej dogania ją 1024x768)
???? Kiedy "najczęściej wykorzystywaną rozdzielczością" było 800x600 to... jeszcze nie było internetu :lol: A w każdym razie nie u nas. W tej chwili jest raczej po równo 1024x768 i 1280x1024, stopniowo przesuwa się w stronę tego drugiego i coraz częsciej w statystykach zaczyna być widoczne (czytaj: więcej niż "kilku odwiedzających na miesiąc") 1600x1200.


optymalne zdjęcie go galerii internetowej powinno mieć mniej więcej 600x400, a nawet mniejsze wymiary... dodać do tego łącze 1Mbit (baardzo popularne, nie wspomne o szybszych) i załadowanie galerii nawet kilkudziesięciu zdjęć nie zajmnie jakiegoś ogromnego czasu.
Co do wymiarów to się nawet zgadzam :) Ja w stronie w stopce (tej na czerwono :mrgreen:) mam zdjęcia 670x450 - tak, żeby dało się to oglądać również w 1024x768. I taki rozmiar pozwala mi mniej więcej zachować ciągłość slideshowu (2 sekundy/zdjęcie) na łączu ok. 1Mbit. Tyle że przy kilkunastu zdjęciach mam na to w sumie pół minuty czasu, użytkownik nie zauważy różnicy (bo wrednie nie ma opcji przewijania w przód :mrgreen: :mrgreen:). Te same zdjęcia ładowane na raz... zniecierpliwiony użytkownik zamknąłby stronę po 10s.

Vitez
26-07-2007, 22:16
najczęściej wykorzystywaną rozdzielczością monitorów jest 800x600 (choć coraz szybciej dogania ją 1024x768) więc strona zawierająca wielkie zdjęcia byłaby okropnie nieczytelna.

To bardzo ciekawe... a sprawdziles ta informacje zanim ja podales jako argument?

http://www.ranking.pl/index.php?page=Ranks:RanksPage&stat=23|OW



1 1024x768 2 739 039 589 57.7%
2 1280x1024 840 736 144 17.7%
3 1152x864 314 110 955 6.6%
4 1280x800 297 814 722 6.3%
5 800x600 316 517 848 6.7%

robgr85
27-07-2007, 04:09
wiele szkół, uczelni, urzędów ma rozdzielczość ekranu ustawioną na 800x600 - dziwnie to wygląda, gdyż na mojej stronie (ok 4-5k odslon miesiecznie) ponad grubo ponad 30% ma rodzielczosc 800x600, drugie tyle ma 1024x 768. Jako ze wyniki ktore podaliscie odbiegają od moich - dochodzę do wniosku że ludzie wchodzący na moje strony są jacyś dziwni :P chyba jedyną audiencją waszych stron nie są fotografowie/graficy zajmujący się profesjonalnie grafiką.

niemniej nawet 1280x1024 to i tak za mały obszar aby ładnie na nim wyglądały zdjęcia w pełnej rozdzielczości.

Pozdr.

Vitez
27-07-2007, 13:24
wiele szkół, uczelni, urzędów ma rozdzielczość ekranu ustawioną na 800x600 - dziwnie to wygląda, gdyż na mojej stronie (ok 4-5k odslon miesiecznie) ponad grubo ponad 30% ma rodzielczosc 800x600, drugie tyle ma 1024x 768. Jako ze wyniki ktore podaliscie odbiegają od moich - dochodzę do wniosku że ludzie wchodzący na moje strony są jacyś dziwni :P

Wyniki podane dotycza calej Polski, dokladnie zbadane i usrednione. To ze ty masz inne wyniki albo ze w twoim otoczeniu jest ustawiona wlasnie taka a nie inna rozdzielczosc to zbyt subiektywny niestety argument. Choc z drugiej strony jesli jestes pewien ze wlasnie tylko z twojego otoczenia bedziesz mial dowiedziny to smialo ustawiaj rozdzielczosc jaka chcesz... jednak ja osobiscie bardziej bylbym przekonany do ogolnych statystyk niz wlasnych, ograniczonych obserwacji. To ze masz takie statystyki na swojej stronie swiadczy tylko o tym jakiej grupie uzytkownikow podales link do niej i jak masz ja wypozycjonowana wsrod osob zupelnie cie nie znajacych.
Btw ogromna wiekszosc uzytkownikow internetu korzysta z niego w domu a nie w urzedach czy uczelniach wiec tez przyklad niezbyt dobrze dobrany. Przejrzyj sobie te statystyki np pod katem systemow operacyjnych a nastepnie powiedz w jak wielu urzedach czy uczelniach widzisz Windows XP?

robgr85
27-07-2007, 16:42
http://www.w3schools.com/browsers/browsers_display.asp



higher 26%
1024x768 54%
800x600 14%
640x480 0%
unknown 6%


to są dane nie ogólno światowe ze stycznia 07,
więc uważasz że jak co szósta osoba wchodząca na twoją stronę/galerię ma problemy z jej przeglądaniem to wszystko jest ok?

Pozdrawiam,
Robert

muflon
27-07-2007, 20:51
to są dane nie ogólno światowe ze stycznia 07,
Sorry, ale, że tak zawieśniaczę, no fucking way. Te 14% dla 800x600 jest IMHO niemożliwe.

dgi
27-07-2007, 21:37
Sorry, ale, że tak zawieśniaczę, no fucking way. Te 14% dla 800x600 jest IMHO niemożliwe.

IMHO...potwierdzam.

Poniżej staty mojej strony. 800x600 i poniżej wogóle nie występuje. :lol:


https://canon-board.info//brak.gif
źródło (http://img511.imageshack.us/img511/4766/resxb8.gif)

Alzail
27-07-2007, 21:49
prawie to wszystko się tyczy tematu :)

a co do tematu, to chyba zrezygnuje z tych preloadow itp i zaladuje sobie lightboxa, ktory mi sie bardzo podoba :)