Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bardzo długa treść strony, Jak przyspieszyć wczytywanie?
mathijas
post
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 ... ! cool.gif

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ę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(mathijas @ 28.10.2008, 10:33:09 ) *
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.
Go to the top of the page
+Quote Post
mathijas
post
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 smile.gif.
Go to the top of the page
+Quote Post
nevt
post
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... -
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:33