Robster napisał(a)
To znowu ja
Jest może jakaś funkcja jQuery, która będzie się uruchamiała tylko raz przy ładowaniu strony? Chodzi o to, że przy wejściu użytkownika na strone funkcja jest wywoływana, a później przez cały czas jego funkcjonowania na stronie (skakanie po zakladkach, linkach) nie jest już wywoływana. Ponownie jej uruchomienie następuje dopiero po całkowitym wyjściu ze strony i ponownym wejściu.
Wiem, że można to wykonać ciasteczkami, ale dla pewności chciałbym spytać czy jest inna możliwość.
A co Ci przeszkadza w ciasteczkach? Z wtyczką do jQuery obsługa ciastek jest cholernie prosta, a mało kto wyłącza obsługę ciastek bo bez nich nie działa facebook ;)
Ewentualnie możesz skorzystać z pewnego tricku, ale działa to tylko w obrębie jednego okna (zakładki), czyli użytkownik będzie mógł sobie skakać po linkach ale w obrębie jednej zakładki
Chodzi o window.name
gdzie możesz zapamiętać sobie dowolne dane (aż do 32MB w niektórych przeglądarkach)
Jeśli jeszcze mogę wtrącić ciekawostkę to window.name może być użyte do ataku XSS
Jako że window.name jest przekazywane do wszystkich otwartych stron w obrębie jednej zakładki niezależnie od domeny - wystarczy, że atakowana strona pozwoli nam wstrzyknąć kod javascript: eval(name)
, a więc cholernie krótki kod, w dodatku bez cudzysłowów i znaków specjalnych
resztę kodu wpisujemy do window.name na naszej stronie i przekierowujemy do atakowanej