Marcos>>Vínculos

Los vínculos en los marcos

Establecer un vínculo que apunte a una determinada página será una tarea que realizaremos de la forma habitual. Sin embargo tendremos que tener en cuenta un pequeño detalle: cada enlace se abrirá en el marco desde el que ha sido invocado, por lo que, cuando queramos que una página se presente en un marco diferente a aquél desde el que la llamamos tendremos que especificarlo.

Si ponemos como ejemplo la práctica que hemos realizado está claro que nuestra intención es mantener siempre visible el listado de posibilidades en el marco denominado izquierda, de forma que las páginas a las que nos referimos aparezcan en el marco al que hemos llamado derecha (o arriba y abajo si hemos optado por una definición en filas).

Caja para seleccionar el marco destino del enlacePara especificar el marco de destino en N|VU crearemos el vínculo de la forma habitual. Una vez elegida la página de destino, si no tenemos a la vista las propiedades complementarias pulsaremos el botón Más propiedadespara que se desplieguen y podamos elegir en el apartado destino el marco en el que se abrirá el vínculo al que estamos apuntando.

Ten en cuenta que, si se tratara de un vínculo creado en la zona principal y pretendemos que el destino se abra dentro de la misma zona no haría falta especificar en esta zona que el enlace se abrirá en el marco actual, ya que este es el comportamiento por defecto.

Si quisieras utilizar el código para indicar el marco de destino bastaría con que le añadieras a la etiqueta del vínculo el atributo target="nombre del marco de destino".

Se cual sea el procedimiento utilizado para establecer el destino no veremos ninguna diferencia aparente salvo que veamos el código de la página.

Trabajar con una estructura de marcos puede resultar laborioso y provocar errores si olvidamos indicar el marco de destino de los enlaces. 

Si el nombre que le doy al marco de destino no es el que aparece especificado en la estructura marcada con las etiquetas del frameset lo que ocurrirá es que el navegador abrirá una nueva ventana para presentar el contenido de la página a la que estoy llamando.

Actividad 72

 Abre la página indice.html que creaste para que se mostrara al abrir actividad71.html

 

Si hemos creado una estructura de marcos en la que todos los enlaces incluidos en un documento apuntan siempre hacia el mismo marco podríamos ahorrarnos el trabajo de estar constantemente indicando el marco de destino. Para hacerlo tendríamos que incluir dicha referencia en la cabecera del documento que contiene los enlaces:

<head>
...
<base target="nombre_del_marco_destino">
...
</head>...

Es importante que el nombre del marco vaya entrecomillado y, lógicamente, que coincida con el que se atribuyó al definir la estructura de marcos.

Actividad 73

 Continuamos ahora realizando la modificación que acabamos de comentar.

Salir de una estructura de marcos

Cada vínculo que creamos en una estructura de marcos se abrirá en su marco de destino. Pero habrá momentos en los que ya no nos resulte necesaria la estructura de marcos, por lo que la pregunta será ¿qué hacer para que la página de destino se presente en una ventana independiente?

Para conseguir que un destino sustituya a la estructura de marcos y se presente a página completa habrá que utilizar como destino del enlace la palabra reservada _top, para indicar que pretendemos que la nueva página se superponga a la estructura actual. 

Abrir enlace en la misma ventana sin marcosEl código quedaría similar a  <a href="destino.htm" target="_top">

Para no tener que escribir manualmente el código podemos utilizar la opción para que el enlace se abra en la misma ventana, sin marcos tal como se muestra en la imagen.

Si pretendo mantener la estructura de marcos, pero quiero abrir una nueva ventana puedo utilizar como nombre del marco de destino la palabra reservada _blank

Opción para abrir enlace en una nueva ventanaEl código, en este caso quedaría similar a  <a href="destino.htm" target="_blank">

También tenemos la posibilidad de hacerlo visualmente eligiendo la opción para que el enlace se abra en una nueva ventana

En un momento determinado puede convenirnos abandonar la estructura de marcos pero sin hacer que se abra una nueva ventana, para lo cual podríamos hacer que cualquier enlace "destruyera" la estructura creada por los marcos. También podría darse una situación similar en el caso de que hubiéramos recurrido a una estructura algo más compleja de marcos anidados dentro de otros marcos: supongamos que tenemos una estructura base de marcos del tipo que hemos manejado hasta ahora, en dos columnas. En un momento, el contenido de la zona principal se presta a dividirse, a su vez, en módulos a los que acceder mediante un índice parcial y decidimos crear una estructura de marcos con dos filas (dentro de esta zona principal): en la zona superior aparece el índice parcial y en la inferior el contenido de cada uno de los bloques.

Esquema de marcos anidados

En este caso, una vez visitados los contenidos del bloque que hemos ido navegando desde el submenú parcial puede interesarnos mantener la estructura básica con el menú principal a la izquierda pero olvidando la división en la zona superior e inferior. Para ello haremos que los vínculos que usemos para romper esta estructura utilicen como nombre del marco de destino la palabra reservada _parent

Opción para abrir el enlace rompiendo la estructura contenedoraAhora el código quedaría similar a  <a href="destino.htm" target="_parent"> y, al igual que en los casos anteriores podemos hacerlo de forma visual eligiendo la opción para que el enlace se abra en el conjunto de marcos contenedor

También puedes utilizar la referencia a un marco _blank aunque la página desde la que haces la llamada no pertenezca a una estructura de marcos. Es una forma muy sencilla de hacer que se mantenga la ventana actual y se abra una nueva ventana sin necesidad de recurrir a otro tipo de recursos que pueden resultar algo más complejos.