Como hago para que al hacer click en algun sitio de la web (un a, o lo que sea) cambie la url pero sin recargar la pagina (utilizo AJAX como comprendereis).
Un saludo y gracias de antemano

| |||
Utilizar hash Hola a todos, tras leer un monton de temas en este foro y tutoriales en otras paginas no veo nada claro este tema. Como hago para que al hacer click en algun sitio de la web (un a, o lo que sea) cambie la url pero sin recargar la pagina (utilizo AJAX como comprendereis). Un saludo y gracias de antemano ![]() |
| ||||
Respuesta: Utilizar hash Deduciendo de tu título, lo que quieres cambiar es el hash, NO la URL (eso sería otra historia muy diferente). Los navegadores más modernos (Chrome, Firefox 5, Safari, y creo que Explorer9, aunque no pondría la mano en el fuego por este último, no lo he probado) registran en el historial cada cambio en el #hash, y avisan a la página. En navegadores más antiguos, los cambios en el #hash son indetectables (hay que comprobarlo continuamente con setInterval) y no se guardan en el historial (hay que un truco con un iframe, y variables para evitar cache) Luego tu solo tienes que poner el código necesario para que cada vez que cambie, cargar los datos correspondientes, o mostrar las partes correspondientes de la página. También, evidentemente, deberías cambiar los vínculos para que tuvieran esta forma:
Código HTML:
Ver original .... etc En resumen, olvídate de implementarlo por tu cuenta porque sería casi imposible hacerlo realmente bien excepto que tengas un público muy concreto, y lánzate a usar la ligera librería jQuery Tools, que ya te lo da todo hecho. Y si, la página está en inglés, pero siempre quedará http://translate.google.com/ y este foro para las dudas. http://flowplayer.org/tools/toolbox/history.html
__________________ I (L) Google |
| |||
Respuesta: Utilizar hash Yo en ningun momento he hablado de historial ni nada por el estilo. Lo que quiero saber es la funcion o la forma de cambiar el hash por medio de JavaScript. Segun el metodo que tu me dices al hacer click en ese enlace la pagina se actualizara y yo no quiero eso. Un saludo, gracias ![]() |
| ||||
Respuesta: Utilizar hash Cuando pones un vínculo de la forma:
Código HTML:
La página NO se actualiza. Solo se actualiza el hash.Ver original Si quieres acceder leer el valor actual, solo tienes que usar:
Código Javascript:
Ver original Lo que quería resaltarte en mi primer mensaje, es que es un lío enorme averiguar cuando cambia, porque cada navegador tiene sus «quirks», sus particularidades =)
__________________ I (L) Google |
| |||
Respuesta: Utilizar hash Cita: Pero si existe un div se desplazara hasta ese div.
Iniciado por perryjr ![]() Cuando pones un vínculo de la forma:
Código HTML:
La página NO se actualiza. Solo se actualiza el hash.Ver original Al final he encontrado otra solucion
Código Javascript:
Ver original Con esa funcion se añade el hash. Un saludo y gracias ![]() |
| ||||
Respuesta: Utilizar hash Solo una nota final, tu código te obliga a poner un evento onClick en todos y cada uno de los vinculos de la página, para que no se vayan a otra página. Usé el otro método porque me parecía un poco más eficiente que poner unas cuantas decenas de eventhandlers, así el navegador se encarga de todo el trabajo. Si son pocos links, o la otra solución te va bien, genial! =)
__________________ I (L) Google |
Etiquetas: |