Watt
17.08.2009, 05:41:38
Witam,
Mam pytanie chciałbym przenieśc kogoś do rejestracji jesli przebywał 45 sek na mojej stronie, ale mam też drugi problem, jak wyłączyc to przenoszenie, gdy user zacznie wypełniać formularz szybkiej rejestracji? (Wiem, że trzeba postawić na evencie onClick, ale jak wyłączyć przenoszenie ?)
kfc4
17.08.2009, 07:18:06
Nie jestem zbyt dobry z JS, więc, wybacz, nie poprę tego kodem:
Funkcja zacznijOdliczanie - dodaje sekundy do jakiegoś licznika;
Funkcja zakonczOdliczanie - zakańcza odliczanie, ewentualnie zeruje licznik co ileś tam sekund;
Funkcja przenies - przenosi użytkownika;
Funkcja, którą wywołasz po załadowaniu strony:
- odpala odliczanie,
- sprawdza czy w liczniku jest jest już ileś tam sekund,
- jeżeli użytkownik już siedzi swój określony czas to go przenosisz
- jeżeli kliknie, w któreś z pól formularza to zakańczasz odliczanie, dzięki czemu licznik nigdy nie osiągnie swojej magicznej liczby, a użytkownik nie zostanie przeniesiony.
Ja bym szedł w tę stronę.
Watt
17.08.2009, 08:54:15
Normlanie ejchałem na czymś takim:
Kod
<meta http-equiv="refresh" content="600">
i to było w sekcji head i było okej, ale żeby to usunąć javascriptem musiałbym to wrzucić w jakiegoś diva a w headzie nie można divów dawać ?
Andaramuxo
17.08.2009, 09:25:28
Można też header(refresh). W JS można też dać po akcji setTimeout.
Watt
17.08.2009, 19:48:31
Header (refresh) w php czy jest taka funkcjia w JS ?
Andaramuxo
17.08.2009, 19:57:27
ziqzaq
17.08.2009, 20:46:56
IMHO potrzebne ci są:
1. setTimeout,
2. window.location (przeniesienie na stronę rej.),
3. stworzenie zmiennej odpowiedzialnej za przerwanie przekierowania (odliczania) do rejestracji (np. var stopRedir = false),
4. podpięcie się pod zdarzenie "onfocus" w polach formularza (ustawienie stopRedir = true).
Tylko czy jak użytkownik wejdzie na ten formularz szybkiej rejestracji i go opuści bez zatwierdzania to ci będzie przeszkadzać? Bo jeśli tak to trzeba jeszcze obsłużyć i taką opcję.
Pozdr.
Pawel_W
17.08.2009, 20:52:00
zrób
var t = setInterval('window.location = "strona.pl"', 45000);
i czyszczenie
clearInterval(t);
nie wiem czy do setTimeout też jest clear
Watt
17.08.2009, 22:27:29
Dzięki, nie wiedziałem, że w JS mozna przenieść (myślałem ze tylko w php i html), dzieki za widnow.location.
Pozdrawiam
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.