jQuery - Pierwsze załadowanie strony

1

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ść.

4
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

0

Dzięki @unikalna_nazwa :) W ciastkach nic mi nie przeszkadza, chciałem po prostu wiedzieć, czy jQuery daje taką możliwość.

1 użytkowników online, w tym zalogowanych: 0, gości: 1