Comunidad de diseño web y desarrollo en internet online

cambiar la URL del navegador mediante javascript (sin refres

Citar            
MensajeEscrito el 27 Ene 2009 10:12 pm
hola amig@s necesito hacer esto que en la barra de naveacion cambiar la url por otra sin refrescar la pagina ni redireccionar ejemplo

http://www.miweb.com

cambiarlo por esto

http://www.miweb.com/?var=xxxxxx

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 esto lo tengo que implementar en paginas echas en flash es por eso la necesidad de que la pagina no se refresque

en el ultimo de los caso si saben como hacerlo sea el lenguaje que sea también me lo podrían decir a ver si lo aprovecho
gracias

Por Lynxcraft

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Ene 2009 10:36 pm
weno no creo q haga falta ajax para eso
simplemente lo podrias hacer con mod_rewrite sobre apache


supongo q debes saber sobre esto
ahora te dejo un ejemplo

.htaccss
-------------------------------------------------------------------
# Habilitar Rewrite
RewriteEngine on
### metodo falcil para enviar una varia a un archivo ####
RewriteRule ^([-_a-zA-Z0-9]+)$ http://tu web/index.php?var=$1
### este metodo facil ####
.------------------------------------------------------------------------
weno explico
facil (recomiendo q estudies este metodo es muy weno)


RewriteRule ^([-_a-zA-Z0-9]+)$ http://tu web/index.php?var=$1

lo primero = ^([-_a-zA-Z0-9]+)$

esto solo dice q tome estos datos osea q lo tomara de aki mi web/los datos
luego analiza

osea de la a hasta la z (ayusculas y minisculas) y de 0 a 9

luego los manda aqui

http://tu web/(archivo q quieras mandar las variables o datos).php?var=$1

donde dice

$1 esq tomara el primer conjunto de datos y los pondra ahi en la url para
q cuando entre asi

http://miweb.com/datos1

los convierta en la siguoente url

http://miweb.com/?var=datos1


gracias por leer
by frank
echo a mano no copiar y pegar
chau!
espero q te interece este metodo tienes muchas cosas para aprender y hacer con ete metodo te podra ayuar demaciado en todo

Por emonerd

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Ene 2009 12:22 am
muchas gracias por la respuesta pero no es exactamente lo que necesito XDXD veras lo que estoy trabajando es en una pagina en flahs que carga noticias a trabes de un xml las noticias se dividen en varios sectores asi que resultaría complicado que un usuario que entre a la pagina tenga que ir por las rutas buscando la noticia que quiera, veras imagínate este foro que tiene tutoriales y si quieres poner en otra pagina un link que va directamente a un tutorial en concreto solo copias y pegas su ruta a si cuando un usuario que este viendo la otra pagina y haga clik en el link este lo envié automáticamente al sector de la pagina en concreto, pues es lo que yo quiero conseguir pero sin tener que recargar la pagina, mientras se este navegando baya mostrando en la barra de dirección la ruta para que puedan copiar y pegar en otras paginas luego mediante un scrit de captura puedo evaluar las variables y hacer que el flash cargue la noticia en concreto pero mientras navega en la pagina no tiene que recargase para nada solo ir cambiando la ruta en el navegador de eso ya se encarga los script de flash XD


Por Lynxcraft

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Feb 2009 02:55 pm
Hola Lynxcraft,
tengo exactamente el mismo problema en flash y la bendita URL para registrar en vez de tus noticias yo lo necesito para productos en un carro de compra.
Pudiste encontrar la solución?
Saludos.
Oscar.

Por Rycott

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Feb 2009 06:09 pm
lo que tu necesitas es un "history manager" googlea un poco al respecto y encontrarás tu solución, existen muchos de esos y especificos para alguna librería (jquery, mootools, protoype, YUI, Ext JS)

como yo utilizo Ext JS, te recomiendo este: http://extjs.com/deploy/dev/examples/history/history.html lo que hace es ir agregando parámetros a la url.

puedes buscar el hsitory manager para la librería que estes utilizando.

saludos

Por stock

26 de clabLevel



Genero:Masculino  

JavaScript Developer

firefox
Citar            
MensajeEscrito el 05 Dic 2011 07:09 pm

Lynxcraft escribió:

hola amig@s necesito hacer esto que en la barra de naveacion cambiar la url por otra sin refrescar la pagina ni redireccionar ejemplo

http://www.miweb.com

cambiarlo por esto

http://www.miweb.com/?var=xxxxxx

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 esto lo tengo que implementar en paginas echas en flash es por eso la necesidad de que la pagina no se refresque

en el ultimo de los caso si saben como hacerlo sea el lenguaje que sea también me lo podrían decir a ver si lo aprovecho
gracias


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 HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>PushState</title>
   <script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script><!-- Actualizar -->
    <script>
   $(document).ready(function() {
      // Para navegadores que soportan la función.
      if (typeof window.history.pushState == 'function') {
         pushstate();         
      }else{
         check(); hash();
      }
    });
   // Chequear si existe el hash.
   function check(){
      var direccion = ""+window.location+"";
      var nombre = direccion.split("#!");
      if(nombre.length > 1){
         var url = nombre[1]; 
         alert(url);
      }
   }
   
   function pushstate(){
      var links = $("a");
      // Evento al hacer click.
      links.live('click', function(event) {
         var url = $(this).attr('href');
         // Cambio el historial del navegador.
         history.pushState({ path: url }, url, url);
         // Muestro la nueva url
         alert(url);
         return false;
      });
      
      // Función para determinar cuando cambia la url de la página.
      $(window).bind('popstate', function(event) {
         var state = event.originalEvent.state;
         if (state) {
            // Mostrar url.
            alert(state.path);
         }
      });
   }
   
   function hash(){
      // Para i.e
      // Función para determinar cuando cambia el hash de la página.
      $(window).bind("hashchange",function(){
         var hash = ""+window.location.hash+"";
         hash = hash.replace("#!","")
         if(hash && hash != ""){
            alert(hash);
         }
      });   
      // Evento al hacer click.
      $("a").bind('click', function(e) {
         e.preventDefault();
         var url = $(this).attr('href');
         // Cambio el historial del navegador.
         window.location.hash = "#!"+url;
         //$(window).trigger("hashchange");
         return false
      });
   }
   
   </script> 
    </head>
  <body>
    <a href="page-help.html">help</a>
    <a href="other.html"> Otro link</a>
  </body>
</html>

Por carlosvelez5

0 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.