Podríamos empezar una discusión sobre si el hecho de desarrollar páginas con frames es el más correcto o no. Lo que es cierto es que fueron una alternativa que facilitó la creación de páginas compuestas antes de que se contase con IFRAME, con soluciones de includes en servidores,… etc. Y en esa situación se nos presenta la necesidad de abrir enlace sobre varios frames.
La idea es que tenemos una página que está compuesta por varios frames y al pulsar sobre uno de los enlaces que esté dentro de un frame queremos que desaparezcan todos los frames y aparezca en la pantalla entera cagado en enlace que hemos pulsado.
A día de hoy siguen existiendo diseños que están basados en frames. Uno de los temas a resolver en este tipo de diseños es el frame sobre el que se quiere abrir un enlace. Para resolver esto, dentro de la especificación HTML contamos con el atributo target del elemento anchor A.
Los valores que puede recibir este atributo son varios: _blank, _self, nombre frame,… y _top. En el caso que queramos abrir un enlace sobre todo el sistema de frames, es decir, sobre la página padre, deberemos de usar el valor _top. Quedándonos el enlace de la siguiente forma:
<a href="http://www.google.com" target="_top">Abrir sobre los frames</a>
En este caso será la página de Google la que tome el control de nuestro marco de trabajo y de esta forma habríamos conseguido abrir enlace sobre varios frames y que desapareciesen todos ellos.