![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 1 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam do wyświetlenia tabelkę, około 4tys wierszy po 20 kolumn każda, podzielonych na około 100 kategorii. Wygenerowany HTML to około 3MB. Stronicowanie odpada - ma być wszystko na jednej stronie, bo inaczej ... ! ![]() Strona nie wczytuje się super długo - około minuty z localhosta - nie jest też problemem transfer - jaki kto ma, taki ma. Jednak plan jest aby użytkownik wchodząc na taką stronę nie czekał wcale, ot co. Funkcjonalność powinna być taka, że wczytuje się na początku jedna kategoria, potem kolejne - zanim użytkownik przejrzy początek, tyły zdążą się załadować. Coś, co przy ładowaniu 3-megowego HTMLa jest niedostępne, jako że strona okropnie się tnie podczas wczytywania i paskiem nie da się przewijać. Tyle teorii. Zrobiłem to AJAXem, zakładany spadek prędkości wczytywania został osiągnięty, ale prędkość wyświetlania jest również kiepska. JavaScript ładując kolejne tabelki blokuje w znacznym stopniu płynność działania przeglądarki - efekt jest taki, że przesuwając pasek na chwilę cały ekran przykrywa się bielą i po chwili dopiero pojawiają się spowrotem tabelki (na szczęście te, które miały się pokazać). Moje pytanie: jak spowolnić cały proces tak, aby wczytywanie szło gdzieś sobie w tle, a użytkownik mógł machać w tym czasie myszką po ekranie do woli? Albo może zupełnie źle do tego podszedłem? Może ktoś widział taki efekt gdzieś i mógłby podać linka? Za wszelkie pomysły z góry dziękuję. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Albo może zupełnie źle do tego podszedłem? Może ktoś widział taki efekt gdzieś i mógłby podać linka? Podejście masz dobre. Z realizacją nie wiem jak bo nie mamy wglądu.Ale taki efekt jak Ciebie interesuje jest na dzone. Przewijaj linki w dół, po pewnym czasie zaobserwujesz zaczytywanie nowych. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 1 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przejrzałem, dzięki za info, choć nie do końca spełnia moje kryteria - na dzone doczytywanie pojawia się w momencie dojechania do końca strony - ja potrzebuję od razu. Ale widzę, że pomimo doczytywania pasek jest w miarę ruchomy - może to rzeczywiście jakaś droga. Zaraz wygrzebię źródło i zobaczę jak to działa
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
ja podobny problem rozwiązałem tak:
na starcie ładuję tylko spis treści i treść pierwszego akapitu, każdy punkt spisu ma przypisaną funkcję JS do zdarzenia onclick, do której przekazuję atrybut id pustego<div> umieszczonego pod tym punktem. w tej funkcji, wywoływanej po kliknięciu przez użytkownika w pozycję spisu, przez AJAX pobieram treść odpowiedniego akapitu i wklejam do <div> o odpowiednim id. w ten sposób wszystko działa bardzo płynnie, użytkownik ma cały spis treści załadowany od razu, a fragmenty dokumentu szybko doczytują się w miarę czytania. pozdrawiam. -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:33 |