Ajax, cambiar URL

Iniciado por SnakeDrak, 11 Julio 2009, 22:32 PM

0 Miembros y 1 Visitante están viendo este tema.

SnakeDrak

Hola,

Tengo una web y al tener activado javascript y pulsar en los linls cargua contenidos dinámicos en un DIV, esto es muy fácil, el problema viene cuando quiero modificar la URL, si se pulsa en perfil me gustaría que apareciese laweb.tld/?perfil, no quiero que sea hash y tampoco quiero que se recargue la página, ¿sería posible de alguna manera?, si no se guarda en el historial ya buscaré alguna manera de guardarlo, pero necesito que la URL cambie, tal vez se me olvida algo de Ajax.

Saludos y gracias!

Alex_bro

Yo creo que sin recargar no se puede, es mas casi seguro q no. Si no cualquiera podria poner la direccion de un banco en su web y tu sabes...

[u]nsigned

Es que la url inidica la direccion del archivo actual, y si queres cambiar la url si o si tenes que cambiar de archivo(pagina).

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

SnakeDrak

Hola,

Pero entonces como se hace para diferenciar las secciones en una web AJAX, es decir.. si pulsas en la sección perfil y carga en un DIV la página del perfil.. si la URL no cambia, ¿cómo se diferencian las secciones?

P.D: Obviamente la web está adaptada para noscript, pero me gustaría que se cambiase la URL.

Saludos.

Alex_bro

Pues pones un titulo al div para que no se desoriente el usuario... pero ya digo, no puedes cambiar la URL... Si pudieras podrias hacer que apareciera lacaixa.es por ejemplo jeje.
Es el problema que tiene el ajax abusivo, que dificulta por ejemplo, que un usuario pase a otro un url para mostrarle lo que esta viendo, ponerlo en favoritos, etc.

No veo la utilidad de hacer eso con secciones, utiliza ajax para cosas logicas, pero no para visualizar todo el contenido de la web.

Asegurate que funciona sin javascript, y recuerda que no se tarda tanto en cargar una pagina completa para las secciones... y es mucho mas orientativo. Si es por comodidad de disenio haz una plantilla para el header, otro para el footer, y solo tienes que cambiar el contenido e incluir estas 2 plantillas...

Un saludo.

SnakeDrak

Hola,

Obviamente no es para toda la web, es para una mini sección dentro de otra sección que a su vez esta en otra mini sección ¡xD!

Bueno lo haré con hash porque es la única manera de hacerlo, lo que pasa que creo que los buscadores el hash no lo interpretan, pero bueno para esa mini sección que está dentro de una sección etc etc.. tampoco es que haga falta diferenciarlas xD.

Lo haré como http://www.backbase.com/demos/RSS/#aid=901%5B1%5D es un ejemplo, y el hash lo modificaré con javascript.

La web que estoy haciendo tiene 0 errores de XHTML 1.0 Strict y de CSS, además está adaptada o al menos en su mayoría para ciegos, sin tablas, puros DIV etc..

Saludos y gracias por la ayuda

[u]nsigned

#6
Ahhhh...ahora entiendo lo que queres cambiar del URL.

Eso se hace con los marcadores.

Código (html4strict) [Seleccionar]
<a href="#var=1234">Link</a>

Y asi al final del url solo cambia lo que esta despues del '#', pero la pagina no se recarga, porque solo estas navegando hacia un marcador interno. Y luego con ajax puedes obtener el valor de #var acedendiendo al rul que llamo a la pagina php que procesa los datos(en caso de que usses php como lenguaje de servidor)

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

SnakeDrak

Hola,

Sí, eso lo sabía pero quería hacerlo sin hash como dije al principio del tema porque los buscadores no toman en cuenta el hash ya que es parte del cliente.

Si uso php, y con parse_url puedo obtener el hash.

Saludos y muchas gracias por su ayuda

дٳŦ٭

[quote author=nsigned link=topic=260844.msg1268429#msg1268429 date=1247358025]
Ahhhh...ahora entiendo lo que queres cambiar del URL.

Eso se hace con los marcadores.

Código (html4strict) [Seleccionar]
<a href="#var=1234">Link</a>

Y asi al final del url solo cambia lo que esta despues del '#', pero la pagina no se recarga, porque solo estas navegando hacia un marcador interno. Y luego con ajax puedes obtener el valor de #var acedendiendo al rul que llamo a la pagina php que procesa los datos(en caso de que usses php como lenguaje de servidor)

Saludos
[/quote]

Exacto, eso hace facebook.


Con sangre andaluza :)


[u]nsigned


No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!