Bringe den letzten Status aus dem Verlauf

9

Ist es möglich, den HTML-Code des letzten Zustands in den Historienstapel zu verschieben, etwa so:

%Vor%

Ändern Sie den Fensterort:

%Vor%

Jetzt vom neuen Ort:

%Vor%     
shmnsw 17.04.2015, 18:28
quelle

2 Antworten

0

Ich habe nach der Anfrage gesucht, um den HTML-Code des letzten in den Verlauf geschobenen Zustands zu erhalten, habe aber keine befriedigenden Antworten erhalten. Aber ich habe eine Idee für dich, warum versuchst du nicht, das HTML des Staates zu speichern, bevor du es in die Geschichte schiebst? Dies ist durchaus möglich, wenn man clientseitige (Cookies) oder serverseitige (Session-) Variablen verwendet, die auch dann abgerufen werden können, wenn die Dinge in den Verlauf zurückversetzt wurden.

    
Victor Juliet 19.05.2015 04:27
quelle
0

Die pushState-Methode verwendet das state -Objekt als erstes Argument, an dem Sie null übergeben:

  

Beispiel für die Methode pushState ()

     

var stateObj = {foo: "bar"};

     

history.pushState (stateObj, "Seite 2", "bar.html");

Für Ihr Beispiel:

%Vor%

Was mich betrifft ist, dass Sie dann scheinen möchten, dass document.write() das HTML zurück auf die Seite bringt? Wenn ja, würde ich versuchen, das zu vermeiden, wie in diesem SO-Thread erläutert: Warum wird document.write als "schlechte Praxis" betrachtet?

Soweit das gesamte HTML des Körpers zu speichern, ist das schwierig. In Firefox zum Beispiel gibt es ein Limit von 640 Kilobit. Wenn Ihr HTML-Code möglicherweise diesen Wert überschreiten könnte (wahrscheinlich), sollten Sie nur Informationen speichern, mit denen Sie das wiederherstellen können, was Sie benötigen. Versuchen Sie, ein Object nur mit den Informationen zu speichern, die Sie zum Füllen der Seite mit JavaScript / jQuery / etc.

benötigen
  

Das Statusobjekt kann alles sein, was serialisiert werden kann. weil   Firefox speichert Statusobjekte auf dem Datenträger des Benutzers, damit sie wiederhergestellt werden können   Nachdem der Benutzer den Browser neu gestartet hat, legen wir eine Größenbeschränkung von 640k fest   Zeichen auf der serialisierten Darstellung eines Zustandsobjekts. Wenn du   Übergeben Sie ein Zustandsobjekt, dessen serialisierte Darstellung größer als ist   Mit dieser Methode wird eine Ausnahme ausgelöst. Wenn Sie brauchen   mehr Platz als das, werden Sie aufgefordert, sessionStorage und / oder zu verwenden   localStorage.

Viele weitere gute Infos hier:

Ссылка

    
SeanKendle 26.01.2017 14:50
quelle