Estoy escribiendo una aplicación de una sola página de JavaScript utilizando la API de historial de HTML5. La aplicación carga contenido a través de Ajax e internamente mantiene información de estado en la pantalla de primer plano usando una pila de pantallas.Historial de HTML5 que deshabilita el botón de reenvío
Quiero habilitar la navegación con el botón Atrás, pero no quiero que el botón de reenvío esté habilitado.
Un par de trozos rápidos de información:
- El usuario sólo debe nunca ser capaz de volver atrás, no hacia adelante
- Al pulsar el botón atrás del navegador se cierra el usuario actual de pantalla de la página está encendido y vuelve a cargar la anterior uno
- El proyecto está dirigido a la última versión de Chrome solamente, por lo que las implementaciones de otros navegadores no son importantes
- Estoy usando JavaScript nativo y jQuery solamente, me gustaría hacer esto sin History.js
Cuando me carga una nueva pantalla funciono con la siguiente línea:
history.pushState(screenData, window.document.title, "#");
Ato al evento popstate a través de jQuery:
$(window).bind("popstate", function(event) {
if (event.originalEvent.state != null) {
// Logic that loads the previous screen using my screen stack
}
});
gestión de la historia de mi aplicación está funcionando, sin embargo, cuando Vuelvo que el botón de adelanto está habilitado. Necesito averiguar cómo eliminar datos de history
en el evento popstate
.
¿Puedo hacer esto con replaceState? No estoy seguro de cómo ir haciendo esto ...
Hola, sé que es un poco vieja respuesta, pero ¿puedo preguntar si hay alguna posibilidad de usar el botón hacia atrás una sola vez para retroceder en la historia en lugar de hacer clic 2 veces? Porque así presiono la misma url en la historia y cuando uso el botón de retroceso, primero aparece la url de historial presionado, que es la misma, por lo que hace falta 2 clics en el botón Atrás para retroceder. Si pudieras ayudarme con esto, sería increíble. – Redrif
Pude hacerlo yo mismo, así que no hay necesidad de responder a mi comentario. Muchas gracias sin embargo por esa sugerencia usando el propio historial personalizado. – Redrif