sto scrivendo codice per creare un UX simile a come le foto vengono visualizzate su Facebook dalla timeline ...HTML5 Storia API: Aggiorna e ARRETRATI
- Visualizzazione timeline, si fa clic sulla foto si apre in una modale
- si aggiorna e va ad una pagina dedicata per l'immagine
- ti ha colpito di nuovo e si ritorna alla timeline
ho la maggior parte di questo lavoro attraverso il HTML5 Hist API API. Ecco quello che sto facendo quando si clicca un'immagine ...
- Io uso
preventDefault()
evitare di seguire il link (alla pagina di immagine) e invece AJAX caricare un modale con l'immagine - ho
pushState
l'URI della pagina dell'immagine in modo che appaia nella barra degli indirizzi - Ora aggiorno e vengo indirizzato alla pagina di immagine dedicata (l'URI dal passaggio 2)
- Quindi premo il pulsante "Indietro" e mostra l'URI della pagina precedente (ovvero la timeline) nella barra degli indirizzi ma sono ancora nella pagina dell'immagine.
Domanda: Al passo # 4, c'è un modo per bypassare l'API storia e solo il browser di eseguire un'azione standard "Indietro" in modo da poter tornare alla pagina precedente (vale a dire la linea temporale)?
forse pushState prima di caricare il modale? – gengkev
Immagino che il modo in cui dovresti farlo è ascoltare onpopstate – gengkev
In realtà sparo 'preventDefault()' poi 'pushState' poi la chiamata Ajax. Lo stesso problema si verifica se spingo 'pushState' prima dell'Ajax o nella callback di successo. – wdm