Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Procent Załadowania strony
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Spirit86
Witam.
Chcę uzyskać taki efekt:
Mam formularz z uploaderem. Chciałbym, aby po submitowaniu wyświetlił się postęp wgrania(w procentach) pliku na serwer. Nie chcę, aby były tam jakieś fajerwerki jak postęp itp. Wydaje mi się, że najłatwiej byłoby sprawdzić, jaki jest postęp otwierania strony, tzn. w jakim procencie została otworzona. Takie coś jak w pasku IE, Opery, FF, tyle tylko, że było by to wyświetlane w inpucie smile.gif.


Przykład
Wgrywanie pliku(97%)

Widziałem poniższy topic :]. Jednakże nie widzę w nim oczekiwanego rozwiązania.

Pozdrawiam
sobstel
Cytat(Spirit86 @ 2005-12-04 18:06:59)
Widziałem poniższy topic :]. Jednakże nie widzę w nim oczekiwanego rozwiązania.

to nie daje ci zielonego swiatla na zakladanie tego wątku. skoro w tamtym watku nie dostales odpowiedzi to dlaczego mialbys w tym dostac?

poszukaj dobrze w googlach i na forum. osobiscie nie znalazlem sposobu tylko i wylacznie w php (bez zaprzegania perla etc).
Spirit86
Cytat(sopel @ 2005-12-04 18:09:36)
to nie daje ci zielonego swiatla na zakladanie tego wątku. skoro w tamtym watku nie dostales odpowiedzi to dlaczego mialbys w tym dostac?

ja tamtego wątku nie zakładałem i w tamtym o co innego chodzi. Ja chcę tylko kawałek w JavaScript, który by sprawdzał ile procent załadowania strony zostało wykonane.

Cytat
sposobu tylko i wylacznie w php


Ja nie chcę tego w php, tylko w JavaScript
DreeD
Z tego co wiem nie da sie w js zrobic preloadera ktory by pokazywal procentowo ile ze strony zostało wczytane..

http://bedkowski.pl/js/ <- Zerknij tutaj. Jest tam preloader ale dla obrazkow. Moze Ci to pomoze.
Spirit86
Cytat(DreeD @ 2005-12-04 18:33:39)
Z tego co wiem nie da sie w js zrobic preloadera ktory by pokazywal procentowo ile ze strony zostało wczytane..

http://bedkowski.pl/js/ <- Zerknij tutaj. Jest tam preloader ale dla obrazkow. Moze Ci to pomoze.

ech, na nic mi sie nie zdał ten link. bo badanie, czy załadował się obrazek, to niestety co innego, niż spr. załadowania strony. Wydaje mi się, że jest to możliwe, bo widziałem kiedyś skrypt, który w pasku obok pasku statusu pokazywał stopień załadowania. Nie pamiętam, tylko gdzie :/.
dr_bonzo
1 .stan zaladowania strony masz w przegladarce
2. po co ci to w JS?
3. znajdz mi jakas funkcje, wartosc w DOMie / JS nawiazujaca do stanu zaladowanej strony
4. po co ci to?
5. http://lists.evolt.org/archive/Week-of-Mon...502/172228.html
6. czasami nawet same przegladarki przesuwaja progress bar na poczatek i tak w kolko kiedy nie znaja procentowego stanu zaladowania strony (np. serwer nie wysyla naglowka content length) - a co dopiero wykonanie tego wewnatrz przegladarki w js

7. http://www.samspublishing.com/articles/art...5&seqNum=2&rl=1
Cytat
Achieving True and Accurate Status Displays

To achieve a real page-loading status display, you can arrange for your server-side code to flush chunks of output to the client as it carries out the processing required to generate the results. These chunks of output could be client-side script that writes status details within the current browser page or even just simple <img> elements that load images to indicate progress of the operation. As an example, the MSN Expedia Web site (http://www.expedia.com) flushes partial page output to the browser, as you can see if you view the source of the page while it's searching for that holiday in Florida you keep promising your kids. However, it also uses a "dummy" animated graphic, just as this example does, which effectively indicates nothing about the actual underlying process of the operation.

* wysylasz fragment html'a i skryptu js ktory modyfikuje progress bar
* i tak w kolko do konca

i jak to wyjszie? jak proste bedzie w implementacji?...
Spirit86
po co mi to?

hehe, odpowiedź jest prosta, część użytkowników, jak nie wiekszość, działa zwsze tak, jak twórca skryptu / strony nie chce, tj. jeżeli wgrywamy plik, i zajmuje on np. 1MB, wgrywanie pliku trochę potrwa, zablokowywuje submita, żeby jakiś zniecierpliwiony odwiedzający go nie wcisnął, gdyż proces wysyłania zaczął by się od nowa, ale to nie pomaga, bo i tak większość "cwaniaków" wciska Odśwież, kończy się to tym, że plik nie zostaje wgrany na serwer.

Dobra, napiszę info jakimś dużym nagłówkiem.

Ale mam jeszcze pytanie, czy da się sprawdzić za pomocą JS, jakie rozszerzenie, jaki rozmiar plik wybrany w inpucie typu file? smile.gif

Na podstawie rozmiaru, można by przeliczyć ile czasu zajmie wgrywanie pliku na serwer, tylko trzeba by w jakiś sposób wybadać prędkość połączenia, ale UPSTREAM smile.gif.

pozdrawiam
dr_bonzo
Rozmiar na pewno nie - naruszenie zasad bezpieczenstwa, skrypty nie maja dostepu do lokalnych plikow.
Odczyt zawartosci pola file - moze, na pewno nie da sie tam nic wpisac.
Spirit86
no ale nazwe pliku wybierasz z dysku i ona pojawia się, z ścieżką w tym inpucie, więc jakaś wartosć tam jest, a przez .value nie działa snitch.gif
dr_bonzo
  1. <input id="plik" type="file" name="inputFile" />

Kod
alert( document.getElementById( 'plik' ).value );

Opera: dziala
Firefox: dziala
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.