2011-09-24 27 views
8

Estoy diseñando una aplicación web que tiene un menú compartido para todas las páginas. Debido a esto, decidí cargar los contenidos vinculados por los botones de menú dentro de un div, usando jquery.Cómo actualizar solo una parte de la página cuando se presiona F5 o botón de actualización

Por lo tanto, tengo unas pocas cosas:

 $("#AddNewProductBtn").click(function() { 
     $("#content").load("addproduct.html"); 
    }); 

Quiero hacer un seguimiento de la página que se muestra dentro de la "#content" div. Si los usuarios actualizan la página, quiero cargar la misma página en "#contenido". ¿Hay alguna manera de hacer esto o hay alguna solución alternativa?

Vi algunos sitios web que usan un iframe para cargar las páginas, pero cuando un usuario hace clic en un botón en el menú, la URL también se cambia. No encontré ninguna información sobre cómo hacer eso.

Gracias

Respuesta

5

Debe añadir parámetros a la parte hash de la url (# después), por ejemplo domain.com/index.php#addproduct

Luego, el document.ready comprobar el valor después de # y carga el contenido correspondiente.

Algunos complementos como jQuery history utilizan esta técnica.

Además, puede aprovechar el almacenamiento local y las partes de la memoria caché del código en el navegador, por lo que no cargará el contenido con la llamada AJAX por segunda vez.

+0

gracias por la punta i ll darle un tiro –

7

Aquí es una solución para el F5 y CTRL + R

$(document).keydown(function(e) { 
    if (e.which == 116 || e.keyCode == 82 && e.ctrlKey) { //116 = F5 
     $("#content").load("addproduct.html"); 
     return false; 
    } 
}); 
+0

gracias i ll darle un tiro –

Cuestiones relacionadas