Foros del Web » Programando para Internet » Javascript »

Navegador en JavaScript

Estas en el tema de Navegador en JavaScript en el foro de Javascript en Foros del Web. Hola a tod@s. Tengo en una carpeta varios archivos (1.htm , 2.htm, 3.htm, 4.htm...)... Me gustaría poder incluir en cada página las opciones "anterior" y ...
  #1 (permalink)  
Antiguo 24/03/2004, 16:57
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 2 meses
Puntos: 0
Navegador en JavaScript


Hola a tod@s.
Tengo en una carpeta varios archivos (1.htm , 2.htm, 3.htm, 4.htm...)... Me gustaría poder incluir en cada página las opciones "anterior" y "siguiente" pero sin marcarles exáctamente qué página. Es decir, si estoy en 3.htm quisiera que al pulsar "anterior" interpretara que me tengo que ir a 2.htm y si pulsara "siguiente" me fuera a 4.htm
¿alguien sábe cómo automatizar esto?
Se trata de que pueda crear un navegador fijo y sólo tenga que copiar y pegar en todas las páginas donde quiera hacer esto, sin entrar a modificar el link.
Espero vuestra respuesta, muchas gracias.
F
__________________
Madrid...
te quiero:corazon:
  #2 (permalink)  
Antiguo 24/03/2004, 18:08
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Bueno, la verdad es que no es complicado...

Basta con que hagas los siguiente pasos

1. Captura la dirección de la página actual (window.location)
2. extrae el número de la página solamente (objeto string)
3. conviertelo a número
4. crea una función que sume o reste según haga falta
5. crea una dirección web nueva, es decir, tu dirección + el número resultante del paso 4 + .htm
6. sustituye el location actual con la dirección obtenida antes.

listo

La forma más cómoda para poner a funcionar esa función, es que el botón de anterior pase el valor de -1 y el de siguiente pase el valor de 1, algo así como

<a href="javascript:cambiar(-1)">anterior</a>
<a href="javascript:cambiar(1)">siguiente</a>

Espero haberme explicado adecuadamente

Suerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #3 (permalink)  
Antiguo 24/03/2004, 18:41
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola. Primero gracias

El problema, sinceramente, es que no sé cómo compilar todo esto...imagino que los pasos de 1 a 6 tendré que ponerlos en <head> y nombrar a la función "cambiar" para así llamarla desde <body>...

¿sabrías indicarme algún ejemplo en la web para saber cómo construir el script?

Si te parece te indico la web donde quiero hacerlo para que veas el ejemplo

http://www.imagina-web.net/maria_solis/f_retratos/2.htm

aunque por lo que leo me has entendido perfectamente.

Perdón por las molestias y de nuevo muchas gracias
__________________
Madrid...
te quiero:corazon:
  #4 (permalink)  
Antiguo 25/03/2004, 02:00
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, Fero2003.

Para ir hacia atrás usa esto:

<a href="#" onclick="document.history.back();return false">Atrás</a>

Para ir hacia adelante:

<a href="#" onclick="document.history.forward();return false">Adelante</a>

Saludos,
  #5 (permalink)  
Antiguo 25/03/2004, 06:44
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Avance y retroceso de páginas

Hola

Bueno aquí te pego el documento que cree de prueba, este mismo código sirve para todas las páginas, así que la forma más eficiente, es que uses estando dentro de un archivo .js

Código:
<?xml version="1.0" encoding="iso-8859-1"?>
<!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>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function cambiar(x) {
	var lim_inferior = 1; // el número de la primera página
	var lim_superior = 3; // el número de la última página
	var direccion = document.location; // obtenemos la url actual
	var pag_actual = direccion.toString(); // 
	var num_pag = pag_actual.substring(19,20); // obtenemos el caracter que representa la cifra de la página
	var num_pag2 = Math.abs(num_pag); // obtenemos la cifra de la página
	if (x == 1) { // si x = 1 avanzamos una página
		if (num_pag2 != lim_superior) { // condicionamos la ejecución  al límite superior de páginas
			var sig_pag = num_pag2 + x;
			document.location = sig_pag + '.htm';
		} else {
			alert('no se puede adelantar más');
		}
	} else { // si x = -1 retrocedemos una página
		if (num_pag2 != lim_inferior) { // condicionamos la ejecución  al límite inferior de páginas
			var sig_pag = num_pag2 + x;
			document.location = sig_pag + '.htm';
		} else {
			alert('no se puede retroceder más');
		}
	}
}
</script>
</head>

<body>
<a href="javascript:cambiar(-1)">anterior</a>
<br />
<a href="javascript:cambiar(1)">siguiente</a>
</body>
</html>
para incluir un js en tus documentos, solo tienes que agregar esta línea entre <head> y </head>

<script src="hoja_de_script.js" type="text/javascript"></script>

Recuerda que si usas el archivo js, haces la página más ligera, pero recuerda tambien quitar la etiqueta script del código, es decir, la primea línea delarchivo .js, debe ser la que dice function cambiar(x) y la última una llave de cierre ( })

Espero que esté claro todo

Suerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #6 (permalink)  
Antiguo 25/03/2004, 16:23
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola!!

Primero gracias a PatomaS y a JavierB por el interés.

JavierB, la manera que me indicas es usando como referencia el historial, pero yo quiero que siga una sucesión lógia sin contar para nada las páginas ya visitadas. Te agredezco en cualquier caso el interés, efectivamente ese Js funciona a la perfección de esa manera.

PatomaS, entiendo lo que me dices, sé de alguna manera interpretar el código pero no sé crearlo como tú lo has hecho, GRACIAS.

El problema es que no me funciona, se me ocurre que a lo mejor es por la manera de nombrar las páginas ¿cómo debería hacerlo?

En el ejemplo que me has dado no me funciona (he editado las páginas tal cual, sin ninguna modificación en el código). Me dice que "no encuentra la página" y es que muestra como dirección buscada NaN.htm . Yo las estoy nombrando como 1.htm, 2.htm o 001.htm, 002.htm... quizás ahí está el problema

¿me puedes ayudar? Gracias.

Salu2
__________________
Madrid...
te quiero:corazon:
  #7 (permalink)  
Antiguo 25/03/2004, 18:26
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hola

mis páginas de muestra son 1.htm, 2.htm y 3.htm.

¿pasaste el código al .js?

Si en tres (o más) páginas vacias pegas el código que te pasé y las grabas cada uno como 1.htm, 2.htm, 3.ht, etc, te tiene que funcionar, sol orecuerda cambiar el límite superior...

de todas formas, voy a ver si te lo puedo mandar por e-mail

Felicidad
__________________
¡ hey, hou, hou, hey !
  #8 (permalink)  
Antiguo 25/03/2004, 18:28
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hmmm

dame tu e-mail por aquí o por privado y te lo mando mañana viernes por la mañana

Felicidad
__________________
¡ hey, hou, hou, hey !
  #9 (permalink)  
Antiguo 26/03/2004, 15:55
 
Fecha de Ingreso: marzo-2003
Mensajes: 63
Antigüedad: 21 años, 1 mes
Puntos: 0
Perdon por meterme, pero como paso un codigo a .js
me hace falta algun programa especial?????
saludos
  #10 (permalink)  
Antiguo 26/03/2004, 17:03
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading.........


abre el block de notas y ahí pones todo el script
menos las partes -> <script> y </script>

y lo guardas como algo.js nada mas y para llamar al script.
<script language="javascript" type="text/javascript" src="algo.js"> </script> creo que es así.



connection closed.
__________________

Maborak Technologies
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:03.