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==self) top.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