Heim  >  Artikel  >  Backend-Entwicklung  >  Wie aktualisiere ich die Seite in PHP, wenn ich auf die Zurück-Schaltfläche des Browsers klicke, um zur Seite zurückzukehren?

Wie aktualisiere ich die Seite in PHP, wenn ich auf die Zurück-Schaltfläche des Browsers klicke, um zur Seite zurückzukehren?

WBOY
WBOYOriginal
2016-12-01 00:56:542487Durchsuche

Alles, was ich im Internet suche, ist ASP. Wie kann PHP verhindern, dass die Zurück-Schaltfläche zwischengespeichert wird?

Antwortinhalt:

Alles, was ich im Internet suche, ist ASP. Wie kann PHP verhindern, dass die Zurück-Schaltfläche zwischengespeichert wird?

  1. Das Surfen history.back() und andere Verhaltensweisen können nicht blockiert werden

  2. Sie können erwägen, die Seite so einzustellen, dass sie keinen Cache hat

    <code>$nocache = array(
        'Expires' => '0',
        'Cache-Control' => 'no-store,private, post-check=0, pre-check=0, max-age=0',
        'Pragma' => 'no-cache'
    );
    foreach($nocache as k => $v)
        header($k.': '.$v);
    </code>
  3. Wenn Sie sich wirklich weigern möchten, zurückzugehen, können Sie die folgende Methode verwenden, um einen Sprung zu simulieren, sodass einmal zurück automatisch zur aktuellen Seite springt, was ähnlich ist erfrischend

    <code>header('Location: index.php');</code>

Nehmen Sie den Link zur Homepage-Paginierung als Beispiel:
<a href="/index.php?page=3" onclick="page(3);return false;">3</a>
Der Suchmaschinen-Crawler greift /index.php?page=3 gemäß href zu, um die Daten auf Seite 3 zu erhalten, was für SEO von Vorteil ist
Benutzer klicken mit der rechten Maustaste in den Browser und wählen „In einem neuen Tab öffnen“ und Sie können auch normal auf /index.php?page=3 zugreifen.
Wenn der Benutzer direkt auf der Seite auf den Link klickt, wird das Klickereignis ausgelöst ausgelöst, und JS lädt und rendert die lokalen Daten über AJAX und legt den Standort .hash auf /index.php#/page/3 fest.
location.hash = "#/page/3";
Der Browser kann sich den Verlauf von location.hash selbst merken, wir müssen nur zuhören für das location.hash-Änderungsereignishashchange(unterstützt IE8, unterstützt IE7/6 nicht) kann den Effekt erzielen, dass die Seite neu geladen wird, wenn der Benutzer auf die Zurück-Schaltfläche des Browsers klickt.

<code>$(window).on("hashchange", function(){
    alert(location.hash); //输出#/page/2
    var arr = location.hash.split("/"); // ["#", "page", "2"]
    if(arr[1] == "page") {
        page(arr[2]); //AJAX局部加载第2页数据
        //location.href = "/index.php?page="+arr[2]+"&"+new Date().getTime(); //直接访问第2页
    }
});</code>

Das oben genannte „Hyperlink-Design mit gleichem Schwerpunkt auf SEO und Erfahrung“ sollte in der Lage sein, die Anforderungen des Posters zu erfüllen, erfordert jedoch einen gewissen Transformationsaufwand.

Die Seite wird geladen und js aktualisiert die Seite location.href = location.href

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn