[JavaScript] Złapać zdarzenie przekierowania na serwerze

0

Być może za mało szukałem ,ale nie mogę znaleźć nazwy zdarzenia ,które będzie wywoływane(od razu) bez względu czy przekierowanie jest po stronie serwera czy zwykłe. Jest to w ogóle możliwe ?

Mam swoje skrypty użytkownika na pewnej stronie. Korzystam z DOMContentLoaded i DOMFrameContentLoaded ,gdyż chce by skrypt były odpalane zaraz po przekierowaniu. Niestety skrypty w ogóle nie odpalają się gdy przekierowanie jest po stronie serwera (url nie zmienia się). Żeby odpalić skrypty muszę otworzyc stronę w nowej karcie (wtedy url się zmieni) albo odświeżyć strone (i zostać przeniesionym na strone z url).

Wiem, że mogę ustawić mousemove i jakąś zmienną ,ale jest to niezbyt eleganckie rozwiązanie i powinno być jakieś specjalne zdarzenie. Próbowałem też load, DOMFocusIn, DOMActivate ,ale nie zadziałało.

0

Nikt nigdy nie pisał skryptów uzytkownika :] ? Podbijam ,bo tylko moj temat bez odpowiedzi :)

0

A podbije jeszcze 1 ostatni raz ,chociaż czuje ,że to nie najlepsze miejsce na tego typu pytania :)

0

ja trochę nie rozumiem pytania.. jakie przekierowanie, co, gdzie?

0

Nie wiem jak to jest w innych językach(PHP), ale w ASP.NET można to wykonać przez metode Server.Transfer(). Metoda ta wysyła żądaną strone jednak odnosnik(url) się nie zmienia . Na pewno ktoś kiedyś się spotkał z takimi stronami, ale niestety nie potrafię sobie teraz przypomnieć. Przekierowywać w ten sposób można tylko do stron znajdujących się na naszym serwerze oczywiście.

Problem polega na tym ,że muszę napisać skrypt na wlasnie taka stronę, ale ww. przeładowanie nie wywołuje żadnych z zdarzeń ,które w 1-szym wpisie wymieniłem(np. DOMContentLoaded). Jakby nie było wysyłana jest nowa strona ,wiec javascript powinien to normalnie wykrywać ,ale po prostu te zdarzenia nie sa wywolywane...

Mam nadzieje ,że choć trochę rozjaśniłem :)

0

Ale jak chcesz po stronie klienta to rozpoznać? Klient prosi serwer, a serwer daje ci treść strony - klienta nie obchodzi do jakich plików serwer odwołał się podczas parsowania etc.

0

Nom właśnie ,ale w jednym i drugim przypadku wysyłana jest nowa strona. Zmienia się html ,więc czemu w javascripcie nie da się tego jakoś przechwycić. Prawdopodobnie czegoś tu po prostu nie mogę zrozumieć ,ale dziwi mnie ,że jak klikne w link środkowym przyciskiem myszy to mój userjs działa, a jak lewym to nastepuje przeladowanie, ale userjs przestaje działać (nie ładuje się po przeładowaniu).

0

No jeśli chcesz, to przekierowanie możesz rozpoznać po treści strony, ale nie inaczej. Jakieś charakterystyczne elementy w DOM sprawdzić. No i pamiętaj że klient gdzieś trzyma informację na temat tego na jaką stronę chce przejść (zgaduje że ajaxem się przeładowuje), więc może da się jakieś zdarzenie złapać albo zmienną.

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