mam zamiar zrobić kilka założeń przedstawić sposób to zrobić, który nie jest w pełni uzależniona od javascript:
- Zauważyłeś w komentarzach do innej odpowiedzi, że jest to aplikacja ASP.NET. Zakładam, że dbasz tylko o przycisk Wstecz, w którym jest naciskany z innej strony w aplikacji ASP.NET.
- Użytkownik kontroluje kod po stronie serwera wykonany w kodzie ASP.NET z tyłu zarówno dla danej strony, jak i dla stron, z których będzie musiał "wycofać".
Jeśli oba te warunki są prawdziwe, powinieneś być w stanie użyć Session variable! Po prostu ustaw bieżącą stronę na zmienną currPage utrzymywaną przez sesję na wszystkich powiązanych stronach. Następnie, gdy strona ładuje się, sprawdź to i użyj jej albo do dostosowania sposobu wyświetlania strony bezpośrednio, albo do napisania wartości do ukrytego pola/wprowadzania/div, które javascript może odczytać i użyć, aby odpowiednio zareagować.
Jeśli przejdziesz trasę JS-read-execute, musisz przetestować, aby upewnić się, że zdarzenia są uruchamiane poprawnie we wszystkich przeglądarkach po naciśnięciu przycisku "od nowa". Jak wspomniano w artykule the link from Rionmonster, czasami zdarzenia ładowania mogą nie uruchamiać się po naciśnięciu przycisku wstecz. Jeśli widzisz z tego problemy, użyj podanych tam sztuczek, aby ominąć to.
Tego typu rozwiązanie powinno działać w przypadku każdej aplikacji internetowej, która wykorzystuje kod po stronie serwera, który może wchodzić w interakcje ze zmiennymi sesji (np. Będzie działał również w PHP, Pythonie i wielu innych).
Uwaga: Jest szansa, że nie będzie to tak eleganckie, jak się wydaje. W wielu przypadkach przeglądarki mogą nie pobrać świeżej strony z serwera po naciśnięciu przycisku Wstecz. Jeśli testowanie ujawni, że jest to problem, być może trzeba będzie zastosować pewne techniki AJAX, aby zapełnić informacje świeżością w JS po naciśnięciu przycisku Wstecz.
Oto podobny post obejmujący używanie jQuery i przycisk Wstecz: http://stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button –