Ho il seguente codice per salvare il mio data
nello stato corrente della pagina.Come aggiungere o aggiungere nuovo statoObject alla cronologia
window.history.pushState({myData: data}, "RandomTitle", '#');
Ma ora, voglio anche salvare un altro valore che è scrollTop
. E se lo faccio
window.history.pushState({scrollTop: scrollTop}, "RandomTitle", '#');
Il codice sopra sostituirà lo stato storia con la nuova e myData
sarà andato.
La domanda, Esiste comunque la possibilità di aggiungere scrollTop
mentre c'è lo stato della cronologia myData
? O mi resta che impostare inizialmente come,
window.history.pushState({myData: data, scrollTop: 0}, "RandomTitle", '#');
// To change the scrollTop in history state
window.history.state.scrollTop = $(window).scrollTop();
sto pensando se c'è una funzione come window.history.state.addObject
o qualcosa del genere.
Grazie per la tua risposta e btw, ti manca un coma dopo 'Object.assign '. Ora, se mi capita di eseguire questa istruzione più di una volta, per sostituire le variabili 'scrollTop' o' myData' nello stato della cronologia, non funziona più. – choz
Giusto. Grazie. Aggiornato. –
Il motivo per cui non funzionava è perché il valore dello stato precedente aveva la priorità sui nuovi valori che si desidera aggiungere (vale a dire se lo stato precedente conteneva un valore, veniva mantenuto indipendentemente da cosa). L'ho cambiato posticipando questi nuovi valori alla fine degli argomenti 'Object.assign'. –