Ver Mensaje Individual
  #80 (permalink)  
Antiguo 23/12/2002, 12:53
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
80.-Redireccionar una página a su estructura de marcos cargando por defecto dicha pág

P.- ¿Cómo puedo lograr que si alguien llega a una sección de mi sitio sin cargar los frames, ésta se redirija a la estructura de marcos cargando por defecto dicha sección?

R.-

Habrá que crear la estructura de frames de forma dinámica mediante document.write.
Este ejemplo es para una estructura de 2 frames.
Si se quieren más frames es sólo cuestión de pedir al script que te los escriba de la misma forma que el resto.

Página de frames frames.htm
Código PHP:
<html>
<
head>
<
title>Página de Marcos</title>
<
script language="javascript">
//###script por tunait

cadena=document.location.search.substring(1,location.search.length);
cadena2=cadena.split('=')
pagina=cadena2[1]
if (
pagina==null)
  {
  
pagina='principal.htm'
  
}
document.write('<frameset rows="80,*" frameborder="YES" border="1" framespacing="1" cols="*">')
document.write(' <frame name="arriba" scrolling="NO" noresize src="arriba.htm" >')
document.write('<frame name="principal" src="' pagina '">')
document.write ('</frameset>')
</script>
</head>
<noframes> 
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes> 
</html> 
...y el siguiente código habrá que añadirlo en algún lugar entre los tags <head> y </head> a todas las páginas (secciones) que hayan de cargarse dentro del frame principal:

Código PHP:
<script language="javascript">
url=this.location.pathname
if(top==selftop.location="frames.htm?url=" url
</script>
 
Es recomendado además añadir a las páginas que se hayan de cargar en el otro u otros marcos que no sean el principal el código que es encuentra en estas mismas FAQ's 44.- Frames