Veamos........... los frames NO son malos si se usan con crieterio. Verás,
lo que más incomoda al usuario al momento de visitar una página con frame es
que se note el frame mismo. Esto es debido a que no se escoge un fondo
adecuado y a que la diagramación no es la correcta y se nota un "desface".
Por otro lado, SI es útil cuando queremos mostrar una información que no
requiere de todo el entorno existente en la página o más aún, cuando
solamente necesita ser ubicada en una sección en particular. Revisa mi web
la sección productos y ahí vas a ver un efecto en DHTML que es muy útil. No
obstante, en la página principal, main.asp, he ingresado 3 iframes: para el
scroller de la parte superior derecha, los artículos del web casi al final y
a la izquierda la sección dedicada a imente de noticias.
Utilizar frames conlleva a una diagramación limitada para poder ubicar la
información que queremos. Si colocamos 3 frames, uno superior y dos
inferiores, estamos limitando la ubicación e interacción de la información
entre ellos, porque por ejemplo, no podrías realizar un diaseño gráfico
completo sino más bien fragmentado y si al inicio esta bien cuadrado, apenas
se scrole alguno de los frames, se desdibuja la creación inicial. Es cierto
que con frames aumentas el número de páginas pero no es cierto que a más
páginas más demore la página de frames en cargar, no es así necesariamente.
Por otro lado, se usaba frames antes para la ubicación de menús de
navegación, cosa que hoy es poco usada con la tecnología que nos ofrecen las
versiones 6 del Internet Explorer y del Netscape.
Visita esta dirección,
http://www.dynamicdrive.com y ahí podrás encontrar
varios ejemplos de menús todos ellos muy vistosos y sobre todos, útiles.
La ventaja principal del iframe sobre el frame es que ocupa una sección
determinada de tu página y con ello te permite que, aunque el usuario cambie
de resolución, la ubicación no se verá afectada. Además, con los estilos
disponibles para colorear la barra de scrolado, su presencia se hace más
agradable a la vista. No es por nada en particular, pero revisa mi web y ahí
verás algunos ejemplos que pueden ilustrar algo mejor este punto.
Ahora, sobre lo que me preguntas de los frames. Particularmente, creo que
iframe es una mejor opción al frame normal. De poder colocar usando frames,
uno en el medio es posible, pero resulta, digamos, engorroso y a mi gusto,
no muy estético. Sería cosa de crear algo como esto
_______1________
__2__|__3__|__4__
_______5________
y como ves, hay muchas ventanas, 5 en total. Yo me quedaría con el iframe. Y
hay una forma para que sea visible en Netscape también y es la siguiente:
<HTML>
<HEAD>
<TITLE> Iframe Cross Browser </TITLE>
<!-- Código descargado de http://www.htmlpoint.com -->
</HEAD>
<BODY>
<ilayer name="scroll1" width=170 height=150 clip="0,0,170,150">
<layer name="scroll2" width=170 height=150 bgColor="yellow">
<div id="scroll3"
style="width:170;height:150;background-color:yellow;overflow:scroll">
www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com,
www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com,
www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com,
www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com,
www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com, www.htmlpoint.com,
www.htmlpoint.com, </div>
</layer>
</ilayer>
<script>
var nsstyle='display:""'
if (document.layers)
var scrolldoc=document.scroll1.document.scroll2
function up(){
if (!document.layers) return
if (scrolldoc.top<0)
scrolldoc.top+=10
temp2=setTimeout("up()",50)
}
function down(){
if (!document.layers) return
if (scrolldoc.top-150>=scrolldoc.document.height*-1)
scrolldoc.top-=10
temp=setTimeout("down()",50)
}
function clearup(){
if (window.temp2)
clearInterval(temp2)
}
function cleardown(){
if (window.temp)
clearInterval(temp)
}
</script>
<br><span style="display:none" style=&{nsstyle};><a href="#"
onMousedown="up()"
onMouseup="clearup()" onClick="return false"
onMouseout="clearup()">Up</a> |
<a href="#"
onMousedown="down()" onMouseup="cleardown()" onClick="return false"
onMouseout="cleardown()">Down</a> |
<a href="#" onClick="if
(document.layers) scrolldoc.top=0;return false">Top</a> |
<a href="#"
onClick="if (document.layers)
scrolldoc.top=scrolldoc.document.height*(-1)+150;return
false">Bottom</a>
</span>
</body>
</html>