W3docs

Etiqueta HTML <noframes>

La etiqueta <noframes> contiene texto alternativo para navegadores sin soporte de marcos. Ver ejemplos

La etiqueta <noframes> definía el contenido alternativo que se mostraba cuando un navegador no podía renderizar un frameset. Junto con <frameset> y <frame>, pertenecía al antiguo modelo de "marcos" que dividía la ventana del navegador en múltiples documentos independientes.

Peligro

No uses <noframes>, <frameset> ni <frame> en proyectos nuevos. Fueron obsoletos en HTML5 (2014) y los navegadores modernos los han dejado de admitir. Esta página se conserva solo como referencia — para leer o mantener código heredado, no para escribir nuevo marcado.

Esta página explica qué hacía <noframes>, por qué desapareció y qué usar en su lugar.

Para qué servía <noframes>

En la era de los marcos, una página se dividía en varias regiones, cada una cargando su propio documento HTML. Algunos navegadores tempranos (y muchos lectores de pantalla) no podían mostrar marcos en absoluto. El elemento <noframes> ofrecía a esos usuarios una alternativa:

  • Un mensaje breve como "Tu navegador no admite marcos."
  • Un enlace a una versión del sitio sin frameset (página única).
  • Cualquier contenido a nivel de <body> como alternativa funcional.

Si el navegador admitía marcos, el contenido de <noframes> se ignoraba. El elemento estaba anidado dentro de <frameset>, que a su vez reemplazaba al <body> de la página.

Por qué los marcos están obsoletos

Los marcos causaron problemas graves y conocidos que llevaron a su eliminación:

  • Marcadores y URL rotos — la barra de direcciones mostraba la URL del frameset, no el documento que el usuario estaba viendo realmente, por lo que los enlaces y marcadores apuntaban al lugar equivocado.
  • Mala accesibilidad — los lectores de pantalla tenían dificultades para transmitir múltiples documentos independientes en una sola ventana.
  • Daño al SEO — los motores de búsqueda indexaban los documentos de marcos individuales fuera de contexto, sin la navegación circundante.
  • Sin responsividad — el tamaño fijo de los marcos no se adaptaba a pantallas móviles.

Por todo esto, el modelo completo de marcos — y <noframes> con él — fue eliminado del estándar HTML.

Qué usar en su lugar

No necesitas marcos ni un elemento de alternativa. El HTML y CSS modernos cubren todos los casos de uso que los marcos servían:

  • Diseño de página — construye columnas, barras laterales y encabezados con elementos HTML normales y CSS Flexbox o Grid en lugar de dividir la ventana en regiones de marco.
  • Incrustar otro documento — usa el elemento <iframe> para insertar una página (un mapa, vídeo o widget externo) dentro de otra. A diferencia de <frameset>, <iframe> está completamente soportado y no rompe la URL de la página.
  • Encabezado/pie de página/navegación compartidos — en lugar de cargar un marco de navegación una vez, renderiza el marcado compartido con un motor de plantillas, un generador de sitios estáticos o un componente de JavaScript.
Información

El elemento <iframe> es la única etiqueta "similar a un marco" que sigue siendo parte de HTML. Si tu objetivo es incrustar contenido externo, usa <iframe> — no <frameset>.

Sintaxis

La etiqueta <noframes> se usaba en pares. El contenido se escribía entre las etiquetas de apertura (<noframes>) y cierre (</noframes>), dentro de un <frameset>.

Ejemplo de la etiqueta HTML <noframes> (heredado, solo como referencia):

Etiqueta HTML <noframes>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <frameset cols="50%,50%">
    <frame src="https://www.w3docs.com/learn-html.html">
    <noframes>Sorry, your browser doesn’t support frames. </noframes>
  </frameset>
</html>

En un navegador con soporte de marcos de la época, esto habría dividido la ventana en dos columnas. Hoy en día, los navegadores ignoran los elementos <frameset> y <frame>, por lo que la página se renderiza como si estuviera vacía — que es exactamente la razón por la que este marcado nunca debería incluirse en un proyecto nuevo.

Soporte de navegadores

Eliminado. El soporte de marcos ha sido abandonado por los navegadores modernos. No existe ninguna versión de Chrome, Firefox, Safari o Edge en la que escribir <frameset> / <frame> / <noframes> produzca marcos funcionales. Los elementos no son parte del estándar HTML actual, y los validadores los marcan como obsoletos. Trátalos como una característica histórica sin futuro.

Atributos

La etiqueta <noframes> solo utilizaba los Atributos Globales. Al igual que el propio elemento, están obsoletos en este contexto.

Práctica

Práctica
¿Cuál era el propósito original de la etiqueta <noframes> en el HTML heredado?
¿Cuál era el propósito original de la etiqueta <noframes> en el HTML heredado?
Was this page helpful?