Foros del Web » Programando para Internet » Javascript » Frameworks JS »

ingresar datos en la URL

Estas en el tema de ingresar datos en la URL en el foro de Frameworks JS en Foros del Web. Hola quisiera saber si hay alguna forma de ingresar datos en la URL sin recargar la pagina para que no se vea afectado nada ps....o ...
  #1 (permalink)  
Antiguo 25/12/2011, 17:36
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
ingresar datos en la URL

Hola quisiera saber si hay alguna forma de ingresar datos en la URL sin recargar la pagina para que no se vea afectado nada ps....o sea q por ejemplo esta es mi pagina

pagina.com entonces por ejemplo tengo un boton y ps...mediante una funcion en javascript o jquery lo q sea....me le agregue algo a la URL por ejemplo pagina.com?agregado=1
....bueno..pero primero...eso es posible??? gracias...si es posible... díganme cmo se hace...gracias :D
  #2 (permalink)  
Antiguo 25/12/2011, 18:12
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ingresar datos en la URL

mmm. creo que no es posible, pero no estoy seguro
__________________
la la la
  #3 (permalink)  
Antiguo 25/12/2011, 18:18
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

he estado leyengo y con el hash se puede hacer...pero como le hago una funcion donde me agregue el hash a la URL....q segun eso no recarga la pagina que es el q aparece el # y con jquery se puede saber el hash...pero y ahora...jaja como se hace eso? es q estoy un poco crudo con el javascript o el jquery
  #4 (permalink)  
Antiguo 25/12/2011, 18:21
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ingresar datos en la URL

Pregunta: Conque fin quieres hacer esto? quizás haya otra forma de hacer lo que auieres
__________________
la la la
  #5 (permalink)  
Antiguo 25/12/2011, 18:37
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

es que tengo una pagina donde ps...muestro unas cosas sin recargar la pagina...entonces quiero hacer que cuando le de a que me muestre esas cosas...me modifique la URL para que asi la url se pueda copiar...y enviarse entre usuarios o cosas asi...para q con solo acceder a el link...me lleve a la pagina entonces si tiene el # lo rescato con el jquery lo proceso y muestro el contenido referente a ese hash....porq de lo contrario si no tengo eso entonces la URL siempre seria la misma...y los usuarios cuando entran el la web...tendran que buscar nuevamente lo q quieran ver :S Gracias
  #6 (permalink)  
Antiguo 25/12/2011, 18:53
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

pude encontrar esto
Código Javascript:
Ver original
  1. <script>
  2.   if(window.location.hash) {
  3.       var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
  4.       alert (hash);
  5.       // hash found
  6.   } else {
  7.       // No hash found
  8.   }
  9. </script>

ahora solo me falta es hacer que este if...me funcione dentro de un onload....y la funcion que agregara el hash a la URL como lo hago? gracias
  #7 (permalink)  
Antiguo 25/12/2011, 18:56
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ingresar datos en la URL

pero , no podés guardar la url en otro lado? por ejemplo en un input hidden, o en una variable javascript?
__________________
la la la
  #8 (permalink)  
Antiguo 25/12/2011, 19:02
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

como asi??? nooo es q la cosa es q se le coloquen elementos a la URL y ps vi que el hash se puede hacer, agrega a la URL un # seguido del valor y entonces ese valor lo rescato con la funcion q envie mas arriba....lo proceso y ya...pero necesito saber como hacer una funcion q le agregue a la URL actual el #hash...:D
  #9 (permalink)  
Antiguo 25/12/2011, 19:25
Avatar de abermejo  
Fecha de Ingreso: julio-2011
Mensajes: 20
Antigüedad: 13 años, 5 meses
Puntos: 6
Respuesta: ingresar datos en la URL

pues puedes probar colcandolo en el atributo href de la etiqueta <a>

<a href="#enlace">Enlace</a>
  #10 (permalink)  
Antiguo 25/12/2011, 19:33
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

noo ps es que la cosa es q no utilizo <a></a> si no <input> type button...entonces yo diria ps...que con jquery hacer lo de la URL...o sea q cuando precione el boton...rescato el id del boton..que eso se hacerlo ya...y ps...colocar el id en un # de la url sin recargar la pagina..eso es todo.... he estado viendo y segun se puede hacer con esto...pero solo funciona con <a></a>

q hay q hacerle para q funcione con los input type button?


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>
  #11 (permalink)  
Antiguo 25/12/2011, 20:20
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ingresar datos en la URL

Pruebalo así:



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 = $(".btn");
  27.         // Evento al hacer click.
  28.         links.live('click', function(event) {
  29.             var url = $(this).attr('value');
  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.         $(".btn").bind('click', function(e) {
  59.             e.preventDefault();
  60.             var url = $(this).attr('value');
  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.     <button type="button" id="btn" class="btn" value="page-help.html">Boton</button>
  71.         <button type="button" id="btn2" class="btn" value="other.html">Boton2</button>
  72.    
  73.   </body>
  74. </html>
__________________
la la la
  #12 (permalink)  
Antiguo 25/12/2011, 20:35
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

OK si funciona...pero solo hay un problema...que lo agrega asi mipagina.com/page-help.html en vez de mipagina.com#page-help.html
  #13 (permalink)  
Antiguo 25/12/2011, 20:38
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años, 7 meses
Puntos: 50
Respuesta: ingresar datos en la URL

El tema es que no es sólo modificar la URL, sino luego también interpretarla y ejecutar las acciones necesarias en consecuencia. Es algo que hacen Blogger con su Dynamic Views o Google+, por ejemplo.
Para ello, se puede utilizar el objeto "history" de window (que es relativamente nuevo). Para los navegadores que aún no lo soportan, la solución elegida suele ser (como bien decían) colocar la información luego de un hash (#), en general seguido de un signo de exclamación cerrado (#!)... es por ejemplo lo que hace Blogger con Dynamic Views.
Obviamente para interpretar luego toda esta información de la URL (ya que la idea era que los usuarios pudiesen copiarla y pasársela para volver a ingresar a la página directamente en el mismo estado) pueden ser más que útiles las expresiones regulares. ¡Suerte!
  #14 (permalink)  
Antiguo 25/12/2011, 20:45
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

mmm aunq ya vi...tambien puedo agarrar u colocarle al value dee los botones al principio el # y listo :D
  #15 (permalink)  
Antiguo 25/12/2011, 20:48
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ingresar datos en la URL

y que tal algo así?
Disculpa si no entendí bien...

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.      
  9.                  $(".btn").click(function(){
  10.                     var ruta = "#"+$(this).attr("value");
  11.                     alert(ruta);
  12.                     window.location=ruta;
  13.                    
  14.                  })
  15.     });
  16.     </script>  
  17.   </head>
  18.   <body>
  19.     <button type="button" id="btn" class="btn" value="page-help.html">Boton</button>
  20.         <button type="button" id="btn2" class="btn" value="other.html">Boton2</button>
  21.    
  22.   </body>
  23. </html>
__________________
la la la
  #16 (permalink)  
Antiguo 25/12/2011, 20:55
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

O.o OMG! jajaja eso mismo es!.....asi es exactamente eso es lo q necesitaba...OMG! como unas 10 lineas de codigo :D jaja gracias :D Gracias ahora necesito completar algo....como le pongo a esto que funcione en el onload?

Código Javascript:
Ver original
  1. <script>
  2.   if(window.location.hash) {
  3.       var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
  4.       alert (hash);
  5.       // hash found
  6.   } else {
  7.       // No hash found
  8.   }
  9. </script>
  #17 (permalink)  
Antiguo 25/12/2011, 20:57
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ingresar datos en la URL

Cita:
Iniciado por edward18_1 Ver Mensaje
O.o OMG! jajaja eso mismo es!.....asi es exactamente eso es lo q necesitaba...OMG! como unas 10 lineas de codigo :D jaja gracias :D Gracias ahora necesito completar algo....como le pongo a esto que funcione en el onload?

Código Javascript:
Ver original
  1. <script>
  2.   if(window.location.hash) {
  3.       var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
  4.       alert (hash);
  5.       // hash found
  6.   } else {
  7.       // No hash found
  8.   }
  9. </script>
Metelo dentro de una función y lo llamas desde la etiqueta body con onload
__________________
la la la
  #18 (permalink)  
Antiguo 25/12/2011, 21:01
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 13 años, 3 meses
Puntos: 18
Respuesta: ingresar datos en la URL

Ok ok...Gracias :D FELIZ NAVIDAD!

Etiquetas: funcion, jquery, url, botones
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 14:19.