Mam galerię na mojej stronie. Galeria zawiera 15 obrazów, z których każdy ma około 500 KB (całkowity rozmiar to 7,5 MB).Ładowanie GIF (Preloader) utknie tylko w Chrome
Ponieważ załadowanie galerii trwa chwilę (25 sekund na komputerze, trudne to zależy od połączenia), chcę, aby odwiedzający wiedział, że galeria ładuje się, a więc Ajax loading GIF.
Chcę, aby odwiedzający zobaczył ładujący się GIF, gdy tylko wejdzie na stronę galerii, do czasu, aż zdjęcia galerii zostaną pobrane i będą gotowe do wyświetlenia.
W celu osiągnięcia mój cel, to co robiłem:
To początek ciała strony galerii HTML:
<body>
<img src="images/ajax-loader.gif" alt="" class="hiddenPic" />
<!-- loading Ajax loading GIF before all the other images -->
I to jest galeria CSS część:
#gallery {
background: url(images/ajax-loader.gif);
background-repeat:no-repeat;
background-attachment: fixed;
background-position: center;
Zasadniczo pobrany plik GIF powinien zostać pobrany, gdy tylko użytkownik wejdzie na stronę galerii, ponieważ jest to pierwszy obiekt wewnątrz <body>
, który zostanie pobrany. Jednak nie jest widoczny ze względu na klasę hiddenPic
.
Ta metoda powinna pomóc w sprawieniu, aby załadowany GIF był gotowy i widoczny jako tło galerii, tak szybko, jak to możliwe, dopóki nie zostaną pobrane wszystkie obrazy galerii i galeria będzie gotowa.
Jednak, GIF ładowanie nie działa poprawnie w Google Chrome; działa doskonale na Firefox & IE (bezbłędnie obracając się) - ale utknie (nie wiruje poprawnie) w Chrome, od momentu pojawienia się, aż galeria będzie gotowa.
Aktualizacja: wiem, że mogę wdrożyć lepsze galerii (jak te sugerowane w komentarzach), które wymagają mniej zasobów od użytkownika po wejściu na stronę galerii - ale ja nie rozumiem, jak to możliwe być przyczyną problemu, gdy program ładujący GIF działa doskonale w przeglądarce Firefox & IE.
Dlaczego ładowanie GIF Ajaxa nie działa poprawnie w Chrome?
Ładowanie strony internetowej wydaje się działać zgodnie z oczekiwaniami, nawet w Chrome (v21.0.1180.77 m). Oczywiście, gdy ładuję stronę, prezentuję ją z obrotowym GIF-em, który później zostaje zastąpiony przez galerię. Powiedziałbym, że jest dość powolny, tj. Nie widzę spinner "spin" widzę go tylko w 3 lub 4 różnych pozycjach, ale to prawdopodobnie do załadowania reszty galerii i mój komputer jest odrobinę powolny. Jednak ładuję galerię w około 5-6 sekund, a nie w ciągu 25 sekund, które sugerujesz, co może wpływać na wyniki. – Chris
Ponadto, chociaż myślę, że powinieneś bezwzględnie mieć spinner GIF, zastanawiam się, czy powinieneś ładować całą galerię od razu, z dwóch powodów: 1) spowalnia całą stronę i 2) marnuje przepustowość, ponieważ ludzie mogą nie widzieć wszystkich zdjęcia. Chciałbym zbadać proces 1) ładowania każdego obrazu, gdy jest on wybrany (więc spinacz gif dla każdego obrazu) lub 2) obciążenia powiedz pierwszy 3. Następnie, gdy uderzą w "Następny obraz" (aby pokazać obraz 2) załaduj obraz 4. Nie zobaczą żadnej różnicy, ale sprawią, że będzie ona znacznie szybsza i wydajniejsza. – Chris
Więc powód utknięcia jest taki, że ładowanie obrazów galerii zajmuje większość zasobów? Chcę sprawić, żeby ładowarka się zakręciła - GIF nie jest tak ciężki, że nie widzę powodu, dla którego utknie i nie mogę sprawić, żeby wirował poprawnie, nawet (no, tylko), kiedy obrazy są pobierane do komputera. O twojej sugestii, to brzmi jak świetny sposób, aby skrócić czas oczekiwania i sprawić, by działał szybko. Nie jestem pewien, która droga jest lepsza, ale jeśli użyję opcji no1, muszę dodać miniaturki do mojej galerii. – amiregelz