Foros del Web » Programando para Internet » Javascript »

Cambiar URL con JavaScript

Estas en el tema de Cambiar URL con JavaScript en el foro de Javascript en Foros del Web. Hola, me gustaria saber si es posible cambiar la URL del navegador mediante javascript (sin refrescar la página). Llevo una página de videos, en el ...
  #1 (permalink)  
Antiguo 11/02/2007, 06:35
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Cambiar URL con JavaScript

Hola, me gustaria saber si es posible cambiar la URL del navegador mediante javascript (sin refrescar la página).

Llevo una página de videos, en el cual los videos se seleccionan mediante javascript, pero me gustaria que al hacer click en, por ejemplo, el enlace javascript para el video 20 , la URL se cambiara a BASE/?video=20 (que también es un enlace válido, pero utilizo el javascript por que no me gusta que se refresque la página)

Alguna idea de como hacerlo? O alguna forma de ir a ?video=XX sin refrescar la página? Tenia una idea de , refrescar la página y luego ir al "anchor" del reproductor, para que casi no se notase el refresco, pero aun no encontré una solución válida (forosdelweb.com/showthread.php?t=463995)


Saludos y gracias
  #2 (permalink)  
Antiguo 11/02/2007, 08:24
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Cambiar URL con JavaScript

Código PHP:
function irA(dir){
location.href "BASE/?video="+dir;

Saludos.
  #3 (permalink)  
Antiguo 11/02/2007, 09:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Cambiar URL con JavaScript

Hola, pero con eso se recarga la página, no hay forma de hacerlo sin recargar?
  #4 (permalink)  
Antiguo 11/02/2007, 09:43
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Cambiar URL con JavaScript

entonces tienes que utilizar AJAX


Saludos
  #5 (permalink)  
Antiguo 13/02/2007, 10:47
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Cambiar URL con JavaScript

Vaya... no sé nada sobre AJAX, algun tutorial y manual , que pueda servirme para hacer lo que quiero? (es decir, que al seleccionar un vídeo cambie la URL, pero se mantenga la "posición" de los scrollers, el principal y el del "playlist" de los videos)

O alguna forma alternativa? Sin ser muy complicada?

Saludos
  #6 (permalink)  
Antiguo 13/02/2007, 13:51
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: Cambiar URL con JavaScript

Ajax es un "mundo" para estas cosas, yo llevo mucho tiempo detras de poder aprender a usarlo y aún no he podido encontrar una implementación "universal" que sólo con cambiar un par de cosas funcione.

Lo unico que puedes intentar en el caso de que lo que cambies siempre tenga el mismo tamaño, sería que saliera en un <IFRAME></IFRAME> aun que no es lo mas aconsejable.

El tema de AJAX es muy interesante ya que permite cambiar las cosas en "segundo plano" y mostrarlas recargando sólo lo que quieres y no la página entera, aunque también he leido que implementar varias cosas en la misma página (Poner el ajax en varios modulos a la vez), puede ser hasta conflictivo, no se esactamente que problemas puede llegar a dar, pero la verdad que si no los da es una maravilla.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #7 (permalink)  
Antiguo 20/10/2008, 14:18
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años
Puntos: 0
Respuesta: Cambiar URL con JavaScript

Ajax, no es mundo es mas sencillo de lo que parece.
Usa algun framework para facilitarte la vida....no hay necesidad de reinventar la rueda.
Yo uso prototype es muy sencillo.

Saludos
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #8 (permalink)  
Antiguo 27/01/2009, 15:59
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: Cambiar URL con JavaScript

perdonar ya se que el tema es viejo pero necesito hacer esto si alguno sabe como hacerlo estaría bien he probado algunas cosas pero no funcionan o bien me refresca la pagina o simplemente no coloca nada en la barra no quiero complicarme con sosa como el ajax ya que lo tengo que implementar en paginas echas en flash

en el ultimo de los caso si saben como hacerlo sea el lenguaje que sea también me lo podrían decir aver si lo aprovecho
gracias
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #9 (permalink)  
Antiguo 07/07/2009, 01:44
Avatar de cubic  
Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Cambiar URL con JavaScript

Gracias wigglyUtrera
  #10 (permalink)  
Antiguo 05/12/2011, 13:15
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Cambiar URL con JavaScript

Holaaa

mira pues te tengo la solución. con la función de history.replaceState y history.pushState de javascript. funciona en todos los navegadores menos en i.e, pero como alternativa para los navegadores que no soportan esta función podes implementarla con el hash.

aquí te dejo un ejemplo muy facil y práctico.

Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.   <title>PushState</title>
  5.     <script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script><!-- Actualizar -->
  6.     <script>
  7.     $(document).ready(function() {
  8.         // Para navegadores que soportan la función.
  9.         if (typeof window.history.pushState == 'function') {
  10.             pushstate();           
  11.         }else{
  12.             check(); hash();
  13.         }
  14.     });
  15.     // Chequear si existe el hash.
  16.     function check(){
  17.         var direccion = ""+window.location+"";
  18.         var nombre = direccion.split("#!");
  19.         if(nombre.length > 1){
  20.             var url = nombre[1];
  21.             alert(url);
  22.         }
  23.     }
  24.    
  25.     function pushstate(){
  26.         var links = $("a");
  27.         // Evento al hacer click.
  28.         links.live('click', function(event) {
  29.             var url = $(this).attr('href');
  30.             // Cambio el historial del navegador.
  31.             history.pushState({ path: url }, url, url);
  32.             // Muestro la nueva url
  33.             alert(url);
  34.             return false;
  35.         });
  36.        
  37.         // Función para determinar cuando cambia la url de la página.
  38.         $(window).bind('popstate', function(event) {
  39.             var state = event.originalEvent.state;
  40.             if (state) {
  41.                 // Mostrar url.
  42.                 alert(state.path);
  43.             }
  44.         });
  45.     }
  46.    
  47.     function hash(){
  48.         // Para i.e
  49.         // Función para determinar cuando cambia el hash de la página.
  50.         $(window).bind("hashchange",function(){
  51.             var hash = ""+window.location.hash+"";
  52.             hash = hash.replace("#!","")
  53.             if(hash && hash != ""){
  54.                 alert(hash);
  55.             }
  56.         });
  57.         // Evento al hacer click.
  58.         $("a").bind('click', function(e) {
  59.             e.preventDefault();
  60.             var url = $(this).attr('href');
  61.             // Cambio el historial del navegador.
  62.             window.location.hash = "#!"+url;
  63.             //$(window).trigger("hashchange");
  64.             return false
  65.         });
  66.     }
  67.     </script>  
  68.   </head>
  69.   <body>
  70.     <a href="page-help.html">help</a>
  71.     <a href="other.html"> Otro link</a>
  72.   </body>
  73. </html>

Cita:
Iniciado por JinRoh Ver Mensaje
Hola, me gustaria saber si es posible cambiar la URL del navegador mediante javascript (sin refrescar la página).

Llevo una página de videos, en el cual los videos se seleccionan mediante javascript, pero me gustaria que al hacer click en, por ejemplo, el enlace javascript para el video 20 , la URL se cambiara a BASE/?video=20 (que también es un enlace válido, pero utilizo el javascript por que no me gusta que se refresque la página)

Alguna idea de como hacerlo? O alguna forma de ir a ?video=XX sin refrescar la página? Tenia una idea de , refrescar la página y luego ir al "anchor" del reproductor, para que casi no se notase el refresco, pero aun no encontré una solución válida (forosdelweb.com/showthread.php?t=463995)


Saludos y gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.