2013-04-11 74 views
7

Mam wrażenie, że większość użytkowników SO ma przeciwny problem. Mam statyczną stronę, która rzadko się zmienia i chcę, aby przeglądarka nie przeładowywała tej strony, gdy użytkownik szybko do niej wróci. Nie udało mi się znaleźć żadnej prostej listy reguł, które są szczegółowe, gdy przeglądarka ponownie ładuje się podczas nawigacji wstecznej, a kiedy nie.Zapobieganie przeładowaniu strony przez przeglądarkę, gdy użytkownik uderzy Powrót

Jeśli robi różnicę, mój adres URL ma ciąg zapytania i jest obsługiwany przy użyciu protokołu https://.

+0

Dlaczego tylko w nawigacji wstecz? Co się stanie, jeśli użytkownik załaduje tę stronę z historii i nie zostanie zaktualizowany? Nie należy go również ponownie ładować. Wymagany jest kod stanu HTTP 304 niezmodyfikowany: http://www.w3.org/Protocols/HTTP/HTRESP.html – user4035

+0

To jest właśnie coś, czym mniej się przejmuję. W porządku, tylko rozwiązuję sprawę nawigacji wstecznej, ponieważ wielu użytkowników klika łącze, a następnie szybko wraca, jeśli nie znajdują tego, czego potrzebują. Dodatkowym obciążeniem serwera w tym momencie jest problem, który chcę rozwiązać. – levik

+0

Czy używasz skryptu php i chcesz wysłać komunikat HTTP 304 niezmieniony? – user4035

Odpowiedz

10

Nie musisz wiedzieć, czy został użyty przycisk Wstecz. Po prostu powiedz przeglądarce, aby buforowała twoją stronę przy użyciu nagłówków kontroli pamięci podręcznej. będzie można zobaczyć wiele przykładów z Google - http cache control headers

szczególności spojrzeć na te meta tagi:

<meta http-equiv="CACHE-CONTROL" content="..." /> 
<meta http-equiv="EXPIRES" content="..." /> 

Edit:

Tu jest link do jednego z wynikami z tej wyszukiwarki Google . Myślę, że daje całkiem dobre wyjaśnienie działania tych nagłówków. Increasing Application Performance with HTTP Cache Headers

Za pomocą tych nagłówków można określić czas przechowywania stron w pamięci podręcznej; 10 minut, 30 minut, godzin, dni itd.

+0

Domyślam się, czego szukam, to zasób, który wyświetli listę różnych przeglądarek, które honorują te nagłówki w różnych okolicznościach. Na przykład, przywołuję adresy URL, w których ciąg zapytania jest traktowany inaczej niż te, które nie były używane przez przeglądarkę w przeszłości. – levik

+0

Dlatego właśnie umieściłem dla Ciebie ten link Google. W Internecie jest ogromna ilość informacji na ten temat. Dodałem jeden z zasobów z tego wyszukiwania do mojej odpowiedzi dla ciebie. Wyjaśnia to całkiem dobrze i podaje przykłady. –

0

Czy wypróbowałeś na stronie wydarzenie z tagiem body?

<script type="text/javascript"> 
    function caller() 
    { 
     return false; 
    } 
</script> 
</head> 

<body onpageshow="caller();"> 
</body> 

Działa w większości przypadków.

Powiązane problemy