Entiendo que una casilla de verificación permanecerá marcada cuando regrese a una página mediante el botón Atrás. Las clases agregadas usando addClass de jquery, sin embargo, no. ¿Alguien puede ayudarme a entender cuándo algo persistirá o no cuando regrese mediante el botón Atrás? Además, ¿hay alguna manera de guardar el valor de una variable para que pueda usar los valores de la variable para recrear los objetos que no persistieron?¿Qué persistirá al regresar a través del botón Atrás?
Respuesta
Nada persiste: las clases no persisten porque DOM se regenera, las variables JS no persisten porque el código se vuelve a ejecutar, etc. Al mismo tiempo, las implementaciones del navegador parecen estar muy de acuerdo en mantener el usuario ingresado Forme datos para su conveniencia aunque este comportamiento no forme parte de ninguna especificación oficial.
Si necesita que algunos datos persistan en el lado del cliente, es probable que esté haciendo algo mal desde el punto de vista arquitectónico. ¿Por qué intentas anular el comportamiento del botón "atrás" del navegador para que el usuario vuelva a un estado arbitrario, en lugar de ir a la URL anterior y volver a renderizar la página? Si su aplicación tiene mucha interacción y este comportamiento de botón "atrás" es deseable, puede alejarse de hacer que el usuario navegue entre páginas independientes a favor de realizar solicitudes AJAX y confiar en algo como html5 history api, lo que le permite ejecutar cualquier código arbitrario para poner la página en un estado deseado.
no entra en detalles suficientes sobre lo que realmente se espera que sea tienda - tal vez un localStorage o una alternativa de galletas sería más apropiado
Actualización:
He puesto juntos a fiddle para probar qué tan bien persistirán los datos del formulario al atravesar el historial, y los campos ocultos fueron disponibles para ser procesados por JS; aún no es una buena idea aunque imo
¿Estás diciendo que podría usar datos de formularios ocultos, ya que persistirán? – user584583
@ user584583: Estoy diciendo que depender de los campos de entrada probablemente sería muy inconsistente en todos los navegadores y no confiable –
Decir que * nada * persiste es un poco engañoso. Ya ha señalado algo que persiste: datos de formulario ingresados por el usuario. Dos cosas más que persisten son la posición de desplazamiento y, para dispositivos móviles, el nivel de zoom. – Nick
Es más o menos depende del hecho de que maneje o no el hash de la url, es decir, si lo hace, puede persistir todo.
EDITADO:
usted tiene que estar familiarizado con el concepto de aplicación Page único (SPA).
Todo es posible gracias a la capacidad de cambiar location hash property y gestionar el historial del navegador.
Para hacer este sencillo hay un montón de bibliotecas como Sammy.js
Cada vez que tiene hacer una acción que empuja nuevo estado y por lo tanto usted será capaz de manejar presión del botón de retroceso usuario.
Con el fin de conseguir idea de lo que parece, verificación siguiente jsfiddle
En el código que ve la creación de routes
:
Sammy(function() {
this.get('#:folder', function() { ... });
this.get('#:folder/:mailId', function() { ... });
})).run();
que especifican hachís, es decir www.mygreatwebsite.com/#inbox/#1
y la forma en que su aplicación va a manejar eso.
Aquí está sucediendo mucho más, por lo que mis enlaces son solo un punto de partida para explorar.
¿podría aclarar lo que escribió? ¿picadillo? – user584583
@ user584583 verifique mi respuesta actualizada. – vittore
Como complemento de las respuestas anteriores, se puede guardar el estado de forma con el estado de vista.
ViewState permite ASP.NET para repoblar los campos del formulario en cada devolución de datos al servidor de asegurarse de que una forma no se borra automáticamente cuando el usuario pulsa el botón de enviar.
Los navegadores modernos intentan persistir cada vez más. Firefox experimentó hace varios años con la preservación de todo, incluidos los cambios de nombre de clase, siempre que el servidor indique que la página se puede guardar en el encabezado HTTP y que la página web no ha registrado ningún controlador de eventos onunload
. Firefox activa onpageshow
y onpagehide
cuando el usuario presiona hacia atrás.
https://developer.mozilla.org/en-US/docs/Using_Firefox_1.5_caching https://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/
- 1. Al regresar de la función a través del bloque catch, ¿qué sucede con el bloqueo final?
- 2. Mobile Safari botón Atrás
- 3. Botón Atrás (Comportamiento del navegador)
- 4. Agregue otro botón al lado del botón "Atrás" a la izquierda de un UINavigationBar
- 5. dolor del botón Atrás del navegador
- 6. Manejo del hardware de Android Botón Atrás
- 7. ¿Qué sucede cuando presiono el botón ATRÁS del navegador?
- 8. Borrar todos los campos en un formulario al volver atrás con el botón Atrás del navegador
- 9. ActionBarSherlock ¿Cambia el color del botón Atrás?
- 10. Android: manejo del botón Atrás durante asynctask
- 11. Android: cambiar las acciones del botón Atrás
- 12. iPhone: NavigationController NavigationBar Texto del botón Atrás
- 13. Interceptar el botón Atrás
- 14. El botón de navegación hacia atrás no se muestra, cómo agregar el botón Atrás a UINavigationItem
- 15. jQuery Mobile - botón Atrás
- 16. Botón Atrás volver a enviar los datos del formulario ($ _POST)
- 17. Botón "Atrás" del navegador frente a la página animada jQuery
- 18. IFrame Botón Atrás
- 19. ASP.net simular el botón Atrás del navegador
- 20. Cómo atrapar el evento del botón Atrás
- 21. Comportamiento del botón Atrás de Android
- 22. GWT botón Atrás navegador
- 23. ¿Cómo manejo la llegada del usuario a la página a través del botón de navegación hacia atrás?
- 24. Comportamiento del botón Atrás después de redireccionar-obtener
- 25. El botón Atrás de UINavigationController desaparece?
- 26. Cómo cambiar el título del botón Atrás de UINavigationBar a "Atrás"
- 27. Recordar ajax datos agregados al presionar el botón Atrás
- 28. Javascript: Cambiar la función del botón Atrás del navegador
- 29. Pasar y regresar a ColdFusion Structure a través de JQuery
- 30. ¿Por qué a veces se borran los formularios HTML al hacer clic en el botón Atrás del navegador?
1 para una pregunta bien expresado-, no trivial. ¿Desea profundizar en los detalles de su escenario, o es solo un problema de "y si"? –