¿Cómo crear HTML5 válido usando marcos?

9 minutos de lectura

Para la escuela tengo que hacer un sitio web que deber usar marcos. Me quejé con mi profesor sin éxito.

Quiero usar HTML5 pero parece que los marcos están en desuso. ¿Debo usar XHTML, HTML 4 o hay alguna solución que haga que mis páginas sean HTML5 válidas con el uso de marcos?

  • Parte del proceso de aprendizaje en la escuela es aprender que (a) los profesores no son infalibles (b) que a veces hay requisitos que son estúpidos, anticuados, arcaicos y son todavía requisitos 🙂 La mejor de las suertes. 🙂

    – Sarnold

    30 de enero de 2011 a las 22:39

  • Este profesor tuyo no debería estar enseñando desarrollo web si este es el alcance de su conocimiento.

    – Tú

    30 de enero de 2011 a las 22:46

  • Tuve que construir un sitio web basado en marcos para la escuela en 2004-2005. Incluso entonces estaban ridículamente desactualizados. Es bueno saber que todavía va fuerte!

    – Chris Harrison

    1 de agosto de 2012 a las 8:18

  • Los marcos todavía se usan ampliamente en el aprendizaje electrónico, y parte del contenido se conecta a través de SCORM, y el estado persistente se realiza mediante un conjunto de marcos. Con suerte, eso desaparecerá pronto, pero mientras tanto, ¡tu maestro parece haberte proporcionado un posible trabajo en la industria de la educación!

    – danjah

    30 de octubre de 2013 a las 0:56


  • @Valen, porque eso está bien respaldado caniuse.com/#feat=iframe-sin costuras

    – nat

    25/09/2014 a las 14:37

Sé que tu clase ha terminado, pero en codificación profesional, deja que esto sea una lección:

  • “Obsoleto” significa “evitar su uso; se eliminará en el futuro”
  • Las cosas obsoletas todavía funcionan, pero no espere soporte o pruebas futuras
  • Si el requisito lo requiere y no puede negociarlo, simplemente use la construcción obsoleta.
    • Si está realmente preocupado, desarrolle la implementación alternativa y manténgala lista para la falla inevitable.
    • Cobra por el trabajo extra ahora. Al solicitar una función obsoleta, le piden que duplique el trabajo. Lo vas a ver de nuevo de todos modos, así que también podrías adelantarlo.
    • Cuando ocurra la falla, hágale saber al interesado que esto era lo que temía; que te preparaste para ello, pero tomará algún tiempo
    • Implemente su solución lo más rápido que pueda (habrá errores)
    • Gane reputación para evitar un tiempo de inactividad excesivo.

avatar de usuario de jamesmortensen
jamesmortensen

Ahora, hay muchos ejemplos de mí respondiendo preguntas con ensayos sobre por qué es importante seguir las reglas de validación. También he dicho que a veces solo tienes que ser un rebelde y romper las reglas y documentar las razones.

Puedes ver en este ejemplo que los conjuntos de marcos todavía funcionan en HTML5. Sin embargo, tuve que descargar el código y agregar un tipo de documento HTML5 en la parte superior. Pero el elemento del conjunto de marcos aún se reconoció y se logró el resultado deseado.

Por lo tanto, sabiendo que usar conjuntos de marcos es completamente absurdo, y sabiendo que tiene que usarlo según lo dicte su profesor/profesor, podría lidiar con el único error de validación en el validador W3C y usar tanto el elemento de video HTML5 como el elemento de conjunto de marcos en desuso.

<!DOCTYPE html>
<html>
    <head>
    </head>
    <!-- frameset is deprecated in html5, but it still works. -->
    <frameset framespacing="0" rows="150,*" frameborder="0" noresize>
        <frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top">
        <frame name="main" src="http://www.google.com" target="main">
    </frameset>
</html>

Tenga en cuenta que si es un proyecto para la escuela, lo más probable es que no sea algo que estará disponible en uno o dos años una vez que los proveedores de navegadores eliminen por completo la compatibilidad con conjuntos de marcos para HTML5. Solo sepa que tiene razón y solo haga lo que su maestro / profesor le pida solo para obtener la calificación 🙂

ACTUALIZAR:

El documento principal de nivel superior usa XHTML y el marco usa HTML5. El validador no se quejó de que el conjunto de marcos fuera ilegal y no se quejó del elemento de video.

índice.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
    <head>
    </head>
    <frameset framespacing="0" rows="150,*" frameborder="0" noresize>
        <frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top">
        <frame name="main" src="video.html" target="main">
    </frameset>
</html>

vídeo.html:

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <div id="player-container">
            <div class="arrow"></div>
            <div class="player">

                <video id="vid1" width="480" height="267" 
                    poster="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb480.jpg"
                    durationHint="33" controls>
                    <source src="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb_trailer_iphone.m4v" />

                    <source src="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb400p.ogv" />

                </video>

        </div>
    </body>
</html>

  • ¿Es posible definir el elemento de video y sus atributos en un segundo DOCTYPE y usar XHTML con la etiqueta de video?

    usuario142019

    30 de enero de 2011 a las 22:56

  • @Radek: actualicé mi respuesta para mostrar que el documento principal puede usar un tipo de documento diferente al de los marcos secundarios. ¡Gran pregunta! ¡Debes esforzarte y hacer lo que tu profesor/profesor te pide que hagas, y saber que serás un gran activo para tus futuros empleadores! ¡Buen trabajo!

    – james mortensen

    30 de enero de 2011 a las 23:13

  • @ jmort253 estúpido de mí. ¡Por supuesto! Solo puedo usar XHTML para la página principal y HTML5 para los marcos. 🙂

    usuario142019

    30 de enero de 2011 a las 23:15

  • @RadekS Puede usar el tipo de documento que desee; el factor determinante es si el navegador admite video no el tipo de documento. A Firefox, Chrome u Opera no les importa, reproducirán los videos como sea.

    – roberto

    31 de enero de 2011 a las 2:39

  • @robertc Lo sé, pero quiero que se valide. 🙂

    usuario142019

    3 de febrero de 2011 a las 18:54

Tal vez se podría usar alguna inyección de contenido de página AJAX como alternativa, aunque todavía no puedo entender por qué su maestro se negaría a eliminar los marcos del sitio web.

Además, ¿hay alguna razón específica por la que personalmente quieras usar HTML5?

Pero si no, creo <iframe>s todavía están alrededor.

  • Quiero usar HTML5 especialmente para la etiqueta de video. Mi profesor tampoco tiene mucha experiencia en desarrollo web; ni siquiera sabía sobre CSS hasta que se lo mostré. ¿No es posible usar un DOCTYPE personalizado, tal vez?

    usuario142019

    30 de enero de 2011 a las 22:40

  • Dado el soporte actual y muy reducido de HTML5 (sumergirse enhtml5.org/video.html) entre los navegadores actuales, dudaría en utilizar esta característica por el momento. Y a menos que pueda determinar exactamente qué navegadores y versiones de navegador están usando sus usuarios, se quedará atascado sin crear algún tipo de respaldo.

    – jerluc

    30 de enero de 2011 a las 22:45


Tu avatar de usuario

Tendrás que recurrir a XHTML o HTML 4.01 para ello. A pesar de que iframe todavía existe en HTML5, no se recomienda su uso para incrustar contenido destinado al usuario.

Y asegúrese de decirle a su maestro que los marcos no han sido lo último en tecnología desde finales de los noventa. No tienen cabida en ningún tipo de educación, excepto posiblemente por razones históricas.

Avatar de usuario de Keith
keith

Los marcos no quedaron en desuso en HTML5, pero quedaron en desuso en XHTML 1.1 Strict y 2.0, pero permanecieron en XHTML Transitional y se devolvieron en HTML5. También aquí es un artículo interesante sobre el uso de CSS para imitar marcos sin marcos. Lo acabo de probar en IE 8, FF 3, Opera 11, Safari 5, Chrome 8. Me encantan los marcos, pero tienen sus problemas, especialmente con los motores de búsqueda, los marcadores y la impresión, y con CSS puedes crear contenido impreso o solo para mostrar. . Espero actualizar el marco XHTML/CSS de Alex sin la solución de marcos a HTML5/CSS3.

  • Los marcos se enumeran como “totalmente obsoletos” y entre las características (no conformes) de HTML que “no deben ser utilizadas por los autores” en w3.org/TR/html5/obsolete.html#non-conforming-features incluso si los requisitos de procesamiento se enumeran en w3.org/TR/html5/obsolete.html#frames

    – Brett Zamir

    2 de marzo de 2014 a las 23:28

  • @BrettZamir es uno de los errores más grandes jamás cometidos por los estándares de la comunidad para contar los marcos como obsoletos. Proporcionan funciones que aún no están disponibles en iframe, lo que sería muy beneficioso para las aplicaciones web de hoy en día si se explota adecuadamente.

    – Ese programador de bienes raíces

    10 de noviembre de 2021 a las 22:33

  • Estoy de acuerdo, pero vale la pena señalarlo en caso de que los navegadores actúen de tal manera que eliminen por completo su soporte.

    – Brett Zamir

    11 de noviembre de 2021 a las 2:05

avatar de usuario de user4668867
usuario4668867

He usado marcos en mi sitio comercial de educación continua durante más de 15 años. Los marcos permiten que el marco de navegación cargue material en el marco principal utilizando la función de destino sin tocar el marco del navegador. Además, los scripts de Perl funcionan bastante bien desde un marco y devuelven la salida al mismo marco. Me encantan los marcos y los seguiré usando. CSS es demasiado complicado para un uso práctico. No he tenido problemas para usar marcos con HTML5 con IE, Safari, Chrome o Firefox.

  • Los marcos se enumeran como “totalmente obsoletos” y entre las características (no conformes) de HTML que “no deben ser utilizadas por los autores” en w3.org/TR/html5/obsolete.html#non-conforming-features incluso si los requisitos de procesamiento se enumeran en w3.org/TR/html5/obsolete.html#frames

    – Brett Zamir

    2 de marzo de 2014 a las 23:28

  • @BrettZamir es uno de los errores más grandes jamás cometidos por los estándares de la comunidad para contar los marcos como obsoletos. Proporcionan funciones que aún no están disponibles en iframe, lo que sería muy beneficioso para las aplicaciones web de hoy en día si se explota adecuadamente.

    – Ese programador de bienes raíces

    10 de noviembre de 2021 a las 22:33

  • Estoy de acuerdo, pero vale la pena señalarlo en caso de que los navegadores actúen de tal manera que eliminen por completo su soporte.

    – Brett Zamir

    11 de noviembre de 2021 a las 2:05

¿Ha sido útil esta solución?