Foros del Web » Programando para Internet » Javascript »

Ayuda! Cargar frames

Estas en el tema de Ayuda! Cargar frames en el foro de Javascript en Foros del Web. Hola, tengo un sitio que utiliza 3 frames y he notado que muchos buscadores indexan páginas interiores y -aunque siempre pongo un enlace a la ...
  #1 (permalink)  
Antiguo 11/04/2005, 19:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Ayuda! Cargar frames

Hola, tengo un sitio que utiliza 3 frames y he notado que muchos buscadores indexan páginas interiores y -aunque siempre pongo un enlace a la portada de mi web al pie- me gustaría que al cargar una página de contenido individualmente, force automáticamente el sitio con frames con dicha página en el frame central.

Hasta ahora sólo logre que al cargar una pagina individualmente carge los frames, pero no logro ponerla en el frame central, siempre aparece el que está por defecto:

<script language="JavaScript">
//* Le dice la ubicación de la página con frames *//

top.location="../frames/master.htm";

//*aquí es donde tengo el problema que no se como poner para que la página actual se cargue en el frame principal *//

top.frames[2].principal = document.location;
}

//* Si la página se abre sin frames... *//

if (top.frames.length==0)

//* Carga frames *//

}
else {
self.location.href="http://misitio.com?"+passed+"pagina.html";// + text;
}
</script>


Y por si fuera poco, me gustaría que todo se pueda poner en un .CSS el cual de dicha orden de cargar los frames en caso de no haberlos.

En fin, una genialidad con la cual espero que algunos de aquí me ayuden

Última edición por Arkantos; 11/04/2005 a las 19:25
  #2 (permalink)  
Antiguo 11/04/2005, 23:19
(Desactivado)
 
Fecha de Ingreso: febrero-2005
Ubicación: Azcapotzalco
Mensajes: 299
Antigüedad: 19 años, 2 meses
Puntos: 2
haber lo que quieres es que no se pueda cargar cada frame por separado

coloca esto en cada pagina de las que aparecen en los marcos

Código:
<script language="javascript">

if (top.location == self.location)top.location = "tupaginaprincipal.html";

</script>

Última edición por xp64; 11/04/2005 a las 23:22
  #3 (permalink)  
Antiguo 12/04/2005, 09:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Claro, pero por ejemplo, tengo un montón de páginas de contenido, las cuales en la interfaz con frames siempre se cargan en el principal (es decir, al centro). Lo que tu dices lo he logrado, carga los frames, pero lo que no se como lograr es que cualquiera de las páginas interiores que se abra individualmente, force los frames y aparezca en en centro de éstos.

Quizas exista un script mejor que el que puse, así que espero sugerencias.
  #4 (permalink)  
Antiguo 12/04/2005, 13:50
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, Arkantos
Según entiendo tu caso, el problema es que al recargar el top.location has perdido ya la página que lo llamó, por lo cual no puedes dar más instrucciones.
Se podría hacer a través del parámetro "location.search", el que va tras ? en la url, de modo que llamases al top.location indicando la página desde la que se hace la llamada (y que quieres que quede en el marco central)
A ver si me explico:
1) en la página interior:
top.location="../frames/master.htm?"+this.location.href
(en realidad, habrá que recortar this.location.href para que quite la ruta y deje sólo el nombre de archivo, lo puedes hacer trabajándolo con js(*) o bien poniendo a mano el nombre de la página, por ej. top.location="../frames/master.htm?pagina.html"

2) en la página de frameset añades el código para que lea el parámetro search y lo aplique al marco central, algo así:
<body onLoad="frames[2].principal = location.search.substring(1)">

(*) algo así como
var direc=this.location.href
direc=direc.substring(direc.lastIndexOf("/")
top.location="../frames/master.htm?"+direc
__________________
Angel :cool:
  #5 (permalink)  
Antiguo 12/04/2005, 18:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias Angel, intentaré hacer lo que dices. Me interesa eso de ponerlo en un .js, ¿qué manera me recomiendas? ¿Es necesario que ponga el script en cada página de contenido o se puede cargar desde un .css o .js como tu has dicho?
  #6 (permalink)  
Antiguo 13/04/2005, 16:00
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
No, no me refería a un archivo JS, sino a hacerlo con javascript. Supongo que una vez que tengas el código funcionando sí se podrá sacar a un archivo js externo. Haz la prueba con una página y cuando funcione hablamos
__________________
Angel :cool:
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 19:13.