Hej. Mam małą zagwostkę. Mam programik w napisany w Pythonie/Django, który po wciśnięciu przycisku załącza pętlę i sobie wykonuje obliczenia. Przy kolejnym wciśnięciu przycisku program się zatrzymuje. Chciałem dodać prosty licznik czasu działania od ostatniego uruchomienia. Czyli włączam przycisk START i na stronie leci sobie zegar, który odlicza czas. Stwierdziłem, że nie będę wymyślał koła na nowo i zaimplementowałem sobie gotowca w javascripcie (https://albert-gonzalez.github.io/easytimer.js/). Problem w tym, że po każdym przeładowaniu strony zegar startuje od nowa. Pytanie nie jest o sam kod, bo do tego postaram się dojść samemu, tylko o nakierowanie na właściwą technologię i ewentualne wskazówki jak zapisać zmienną, która będzie przechowywała aktualny czas. Czy czysty javascript sprawdzi się w tym przypadku? Niby prosta rzecz, a wprowadziła mnie w konsternację... Dzięki za wszelkie wskazówki.
- Rejestracja:ponad 8 lat
- Ostatnio:ponad 2 lata
- Postów:75

- Rejestracja:około 11 lat
- Ostatnio:18 minut
- Postów:8399
Czy czysty javascript sprawdzi się w tym przypadku? Niby prosta rzecz, a wprowadziła mnie w konsternację...
A do czego tego potrzebujesz?
Przeglądarkowy JavaScript nie nadaje się jeśli chcesz to potem zwalidować - jeśli licznik ci jest potrzebny, bo np. robisz serwis do ściągania plików i chcesz odliczać komuś czas do następnego ściągania - wtedy ktoś mógłby łatwo oszukać system.
Ale jeśli chodzi ci tylko o animację (a nie o walidację), to pewnie że JavaScript, nie wiem co byś chciał innego używać (chociaż niektórzy pewnie potrafili by zrobić taki zegarek w czystym CSS...)
jak zapisać zmienną, która będzie przechowywała aktualny czas
np. w localStorage
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
zapamiętuje wtedy zmienną w przeglądarce.
- Rejestracja:ponad 8 lat
- Ostatnio:ponad 2 lata
- Postów:75
A do czego tego potrzebujesz?
Wyłącznie do nauki. Po prostu stwierdziłem, że wstawię sobie coś takiego na stronkę, zderzyłem się ze ścianą i próbuję z tego jakoś wybrnąć;)
np. w localStorage https://developer.mozilla.org[...]s/Web/API/Window/localStorage
zapamiętuje wtedy zmienną w przeglądarce.
Spróbuję - dzięki.
- Rejestracja:ponad 8 lat
- Ostatnio:ponad 2 lata
- Postów:75
Niestety chodzi mi o coś innego.
localStarage
zapisuje dane w przeglądarce. Mi chodzi o zapisanie tego po stronie serwera żeby użytkownik, który wejdzie na stronę dajmy na to za tydzień z zupełnie innego miejsca miał również podgląd ile czasu działa uruchomiony skrypt. Dajmy na to dziś włączam skrypt i zaczyna odliczanie. Za tydzień licznik powinien dalej bić nieważne skąd wszedłem na stronę i przy pomocy jakiej przeglądarki. Mam nadzieję, że w miarę to wyjaśniłem. Może po prostu co sekundę zapisywać ilość sekund do bazy i potem to przeliczać na minuty, godziny i wyświetlać za pomocą javascript? Jakieś pomysły jak najefektywniej wykonać taki licznik?

- Rejestracja:około 11 lat
- Ostatnio:18 minut
- Postów:8399
Może po prostu co sekundę zapisywać ilość sekund do bazy
wydaje mi się, że to będzie overhead.
Jeśli odliczasz czas od jakiegoś konkretnego momentu, to wystarczy, że zapiszesz początek odliczania w bazie i policzysz różnicę.
No chyba, że czas ma się odliczać tylko wtedy jeśli użytkownik jest na stronie, a gdy zamknie to stronę, to ma przestawać bić?
w sensie co ma się stać, jeśli wejdę na stronę, pobędę na niej minutę, potem zamknę, po godzinie włączę znowu? Licznik ma mieć wartość 1 minuta wtedy, czy ma wskazywać 1 godzinę i 1 minutę?

- Rejestracja:około 9 lat
- Ostatnio:około 3 lata
- Lokalizacja:Polanów
- Postów:151
Mógłbyś chyba do tego wykorzystać nawet event scheduler po stronie bazy danych i ją odpytywać, np. co 1 sekundę. Overview.