2013-04-11 22 views
7
zurückkehrt

Ich habe anscheinend das entgegengesetzte Problem von den meisten SO-Benutzern. Ich habe eine statische Seite, die sich nur selten ändert, und ich möchte, dass der Browser diese Seite nicht neu lädt, wenn der Benutzer schnell darauf zurückgeht. Ich konnte keine einfache Liste mit Regeln finden, die Details enthalten, wenn ein Browser bei der Rückwärtsnavigation neu geladen wird, und wenn dies nicht der Fall ist.Verhindern, dass der Browser die Seite neu lädt, wenn ein Benutzer auf

Wenn es einen Unterschied macht, hat meine URL eine Abfragezeichenfolge und wird mit dem https:// Protokoll bedient.

+0

Warum nur auf der Navigation zurück? Was passiert, wenn der Benutzer diese Seite aus dem Verlauf lädt und sie nicht aktualisiert wird? Es sollte auch nicht neu geladen werden. HTTP 304 nicht modifizierten Status-Code ist, was Sie brauchen: http://www.w3.org/Protocols/HTTP/HTRESP.html – user4035

+0

Dies ist nur etwas, was ich weniger interessiert bin. Ich bin OK, nur die Back-Navigation-Fall lösen, weil viele Benutzer auf einen Link klicken, dann schnell zurückgehen, wenn sie nicht finden, was sie brauchen. Eine zusätzliche Serverlast an diesem Punkt ist das Problem, das ich ansprechen möchte. – levik

+0

Verwenden Sie ein PHP-Skript und möchten HTTP 304 nicht modifiziert senden? – user4035

Antwort

10

Sie müssen nicht wissen, ob die Zurück-Taste verwendet wurde. Sagen Sie dem Browser einfach, dass er Ihre Seite mit Cache-Control-Headern zwischenspeichern soll. Hier finden Sie viele Beispiele von Google sehen - http cache control headers

Insbesondere schauen Sie sich diese Meta-Tags:

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

Edit:

Hier ist ein Link auf eines der Ergebnisse aus, dass der Google-Suche . Ich denke, es gibt eine ziemlich gute Erklärung dafür, wie diese Header funktionieren. Increasing Application Performance with HTTP Cache Headers

Mit diesen Kopfzeilen können Sie angeben, wie lange Ihre Seiten zwischengespeichert werden sollen; 10 Minuten, 30 Minuten, Stunden, Tage usw.

+0

Ich denke, was ich suche, ist eine Ressource, die auflisten wird, wie verschiedene Browser diese Header unter verschiedenen Umständen berücksichtigen. Ich erinnere mich zum Beispiel daran, dass URLs mit einer Abfragezeichenfolge anders behandelt werden als solche, die in der Vergangenheit nicht von einem Browser verwendet wurden. – levik

+0

Deshalb habe ich diesen Google-Link für Sie eingefügt. Es gibt eine riesige Menge an Informationen im Internet darüber. Ich habe eine der Ressourcen aus dieser Suche zu meiner Antwort hinzugefügt. Es erklärt das ziemlich gut und gibt Beispiele. –

0

Haben Sie versucht onpageshow Ereignis des Body-Tags?

Funktioniert in den meisten Fällen.