Marcos>>El marco fantasma

El marco fantasma

Hay ocasiones, cuando la estructura de la WEB sigue una secuencia lógica y de exposición lineal, en las que la trayectoria que va a seguir la navegación es muy previsible.

En otras ocasiones, hay partes de la WEB que tienen una alta probabilidad de ser visitadas en uno u otro momento, pero presentan la dificultad de incluir imágenes u otros recursos que incrementan su tamaño y hacen que su descarga sea trabajosa.

En ambos casos, la descarga será mucho más rápida la segunda vez que visitemos la página, puesto que en esa ocasión los componentes de la misma no se descargarán directamente de Internet sino que se extraerán de la memoria caché del navegador.

Una buena ayuda, para facilitar la navegación, sería disponer de un recurso que permitiera que esas páginas que se van a visitar estuvieran ya cargadas en la memoria caché del navegador y así se pudiera agilizar la descarga para que el visitante tuviera una sensación de que todo va mucho más rápido.

¿Qué te parece crear una estructura de marcos en uno de los cuales se presentara la página que estamos visitando y en el otro la que vamos a visitar? Seguro que has pensado que no es una idea con mucho sentido, porque ¿qué ocurre si ambas páginas no tienen nada que ver entre sí?

Vamos a verlo de otra manera. Seguro que recuerdas que los marcos se pueden definir a través de porcentajes de la pantalla y que puedes utilizar el signo * para indicar el espacio restante. ¿Qué te parece entonces esta definición: <frameset cols="100%,*">?

Probablemente pensarás que es absurdo adjudicar a una columna el 100% de la ventana y a la otra el resto, puesto que no le hemos dejado nada, pero precisamente ahí está el truco. Si en el marco que ocupa el 100% ponemos la página que el visitante está viendo en este momento y en el otro la que pretendemos precargar, quien está viendo la WEB no verá esta segunda página, pero cuando vaya a visitarla ya la tendrá en la memoria caché de su navegador y se cargará muy rápidamente.

Sólo hay un pequeño detalle más: aunque al crear una página pongamos unas dimensiones para los marcos, quien la visita puede cambiar las dimensiones si pincha y arrastra la división entre los mismos. Si pretendemos evitar que el visitante "corra la cortina" y vea el marco fantasma tendremos que utilizar el atributo noresize. El código quedaría como sigue.

<frameset cols="100%,*" framespacing="0" frameborder="0">
<frame src="paginavisible.htm" name="izquierda" noresize>
<frame src="paginafantasma.htm" name="derecha">
</frameset>

El mismo efecto se habría conseguido creando una estructura en filas en lugar de columnas. 

Ten en cuenta que el ancho de banda es un bien limitado. Cada vez que empleamos la técnica comentada estamos incrementando el uso de la red, ya que el visitante descarga una página que no había solicitado en ese momento.

Procura utilizar este recurso de forma racional y sólo en aquellos casos en los que pienses que va a ser realmente útil.


Crea una estructura con un marco fantasma. Una posible utilidad sería acelerar la carga de imágenes de un pequeño álbum.

En la zona visible pon las miniaturas de las imágenes. En el marco fantasma crea una página con todas las imágenes a tamaño real.

Crea una página para cada una de las fotos que contenga la imagen y un enlace para volver al panel de miniaturas.

Comprueba el funcionamiento del sistema. (Para comprobar realmente la posible aceleración obtenida la página debería estar publicada, ya que en modo local el aumento de velocidad puede resultar imperceptible)