2012-11-16 18 views
6

Po kliknięciu linku utworzyłem metodę wyświetlania wskaźnika ładowania u dołu strony.Metoda wykrywania strony pochodzi z przycisku wstecz.

Gdy ktoś kliknie przycisk Wstecz, nie odświeży zawartości strony, a tym samym wyświetli obszar ładowania.

Czy istnieje sposób wykrywania, czy strona pochodzi z przekierowania, aby uruchomić metodę usuwania wskaźnika ładowania?

Kinda tak:

function cameFromeBackButton(){ 
    //hide loading indicator 
} 

LUB jest to sposób, aby zatrzymać przycisk Wstecz i ogień metodę zamiast? tak:

function backButtonClicked(){ 
    //do stuff instead of going back 
} 

EDIT: Jest to dość dużo jak obszar jest nazywany

$('.link').click(function(){ 
//make loading area 
$('container').append(loadingAreaString) 

//grab the href and goto page 
window.location.href = $(this).attr('href'); 

return false 
}) 
+0

Czy można po prostu zapobiec wyświetlaniu strony w pamięci podręcznej lub czy CHCESZ, aby kopia z pamięci podręcznej była wyświetlana, ale nadal uruchamiała pewne rzeczy? Jeśli tak, http://blog.55minutes.com/2011/10/how-to-defeat-the-browser-back-button-cache/ –

+0

Wygląda na to, że rozwiązanie z jednej strony jest właściwe? W moim przypadku wszystko musi być po stronie klienta. Przepraszamy za nieokreślenie. –

+0

W jaki sposób wywoływana jest funkcja ładowania? –

Odpowiedz

1

można przenieść z serwera jakiś znak i zapisać go w pliku cookie lub lokalnego przechowywania. Gdy zapisany token różni się od tokena osadzonego na stronie - oznacza to, że strona została załadowana z serwera, jeśli wartości są równe - oznacza to, że strona była obsługiwana z pamięci podręcznej (lub z przycisku wstecz).

+0

Próbowałem to zrobić, ale nie odczytałem pamięci, gdy wróciłem. –

+0

tutaj jest odpowiedź, jak życie JS uruchomić po przycisku Wstecz http://stackoverflow.com/questions/2638292/after-travelling-back-in-firefox-history-javascript-wont-run –