Cambiar URL sin recargar

eXtreM3

Wenas! Pongamos que tengo en mi pagina web una sección llamada Servicios, la cual va a tener 8 títulos con sus 8 descripciones, rollo así:

Servicio 1
Descripción 1, varias lineas
Descripción 1, varias lineas

Servicio 2
Descripción 2, varias lineas
Descripción 2, varias lineas

...

Servicio 8
Descripción 8, varias lineas
Descripción 8, varias lineas

Todas las descripciones por defecto van a aparecer ocultas, y cada vez que se haga clic en su título, se mostrará la capa descripción. Ahora bien, quiero que también cambie la url. Pongamos que la url original de la página (con todas las descripciones ocultas) es asi

http://midominio.com/servicios

Es posible, sin recargar, cambiar la url? Por ejemplo si pincho en Servicio 2, la url quedaría así

http://midominio.com/servicios/servicio2 , de manera que si directamente entro en ese enlace, salga la descripción de Servicio 2 desplegada.

Gracias :D

elkaoD

Que yo sepa eso sólo se puede hacer con anchors (http://midominio.com/servicios#servicio2)

suaveSHOW

Para eso tendrías que usar Ajax, Jquery te facilita mucho esa tarea con esta función:
http://api.jquery.com/load/

1 respuesta
eXtreM3

#3 no sé cómo puedo aplicar ese evento a lo que yo quiero conseguir :(

He encontrado una web que hace justo lo que quiero (más o menos):

http://www.itsmassive.com/en/

Pinchando en cualquier enlace te carga un contenido en la cabecera de la pagina (supongo que traido con ajax) y cambia la url :P, lo hace con la funcion control.hrefDo, he mirado los js y el que lo hace es el último, el output-massiveMin.js. He buscado dentro la funcion control.hrefDo pero no me entero de una mierda xD, alguien me echa una manilla?

LOc0

http://stackoverflow.com/questions/1457/modify-address-bar-url-in-ajax-app-to-match-current-state

http://ajaxpatterns.org/Unique_URLs

Salu2 ;)

1 respuesta
eXtreM3

#5 Había leido cosas del location.hash también ;) Creo que tendré que hacerlo con # al final. Sabes si esa url se puede reinterpretar con htaccess??

2 respuestas
LOc0

#6 Hasta donde sé, esas URLs con el # delante no se solicitan al servidor. Son sólo un mecanismo para el navegador, así que .htaccess ahí pinta poco.

Salu2 ;)

suaveSHOW

#6 El location hash te valdra por si el usuario refresca la página poder cargar donde estaba.

Usuarios habituales

  • suaveSHOW
  • LOc0
  • eXtreM3
  • elkaoD