web-dev-qa-db-fra.com

Tout moyen d'utiliser des cadres en HTML5?

Pour l’école, je dois créer un site Web et il doit utiliser ces vieux fichus cadres fml Je me suis déjà plaint à ce sujet à mon professeur sans succès :(

Je veux utiliser HTML5, mais il semble que les cadres soient obsolètes. Suis-je vraiment obligé d'utiliser XHTML ou HTML 4? Existe-t-il une solution permettant à mes pages de valider HTML5 avec l'utilisation de cadres?

41
user142019

Maintenant, il y a beaucoup d'exemples de ma réponse à des questions avec des essais sur pourquoi les règles de validation suivantes sont importantes. J'ai également dit qu'il fallait parfois être un rebelle et enfreindre les règles et documenter les raisons.

Vous pouvez voir dans cet exemple que les jeux de cadres fonctionnent toujours en HTML5 . Je devais cependant télécharger le code et ajouter un doctype HTML5. Mais l'élément frameset était toujours reconnu et le résultat souhaité était atteint.

Par conséquent, sachant que l’utilisation de jeux de cadres est complètement absurde, et sachant que vous devez l’utiliser comme dicté par votre professeur, vous pouvez simplement traiter l’erreur de validation unique du validateur W3C et utiliser à la fois l’élément vidéo HTML5 et le élément de frameset obsolète.

<!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>

N'oubliez pas que s'il s'agit d'un projet destiné à une école, il est fort probable que ce ne sera pas le cas dans un an ou deux, une fois que les fournisseurs de navigateurs auront supprimé le support de jeu de cadres pour HTML5. Sachez simplement que vous avez raison et faites ce que votre professeur demande juste pour avoir la note :)

METTRE À JOUR:

Le document parent de niveau supérieur utilise XHTML et le cadre utilise HTML5. Le validateur ne s'est pas plaint du fait que le jeu de cadres était illégal et il ne s'est pas plaint du contenu vidéo.

index.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>

video.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>
27
jmort253

Je sais que votre classe est terminée, mais dans le codage professionnel, ceci est une leçon:

  • "Obsolète" signifie "éviter l'utilisation, il sera supprimé à l'avenir"
  • Les éléments obsolètes fonctionnent toujours - ne vous attendez pas à une assistance ou à une pérennité
  • Si l'exigence l'exige et que vous ne pouvez pas la négocier, utilisez simplement la construction obsolète.
    • Si vous êtes vraiment inquiet, développez l'implémentation alternative et tenez-la prête à faire face à l'échec inévitable.
    • Charge pour le travail supplémentaire maintenant. En demandant une fonctionnalité obsolète, ils vous demandent de doubler le travail. De toute façon, vous allez le revoir, alors autant le charger à l’avant.
    • Lorsque l’échec se produit, faites savoir à la partie intéressée que c’était ce que vous craigniez; que vous y avez préparé, mais ça va prendre du temps
    • Déployez votre solution le plus rapidement possible (il y aura des bugs)
    • Gagner rep pour éviter les temps d'arrêt excessifs.
35
Fordi

Une injection de contenu de page AJAX pourrait peut-être être utilisée, mais je ne comprends toujours pas pourquoi votre professeur refuse de débarrasser le site Web d'images.

De plus, y a-t-il une raison spécifique pour laquelle vous souhaitez personnellement utiliser HTML5?

Mais sinon, je crois que <iframe>s existe toujours.

4
jerluc

Vous devrez recourir à XHTML ou HTML 4.01 pour cela. Bien que iframe soit toujours présent dans HTML5, son utilisation n'est pas recommandée pour incorporer du contenu destiné à l'utilisateur.

Et assurez-vous de dire à votre professeur que les cadres ne sont plus à la pointe de la technologie depuis la fin des années quatre-vingt-dix. Ils n’ont pas leur place dans aucun type d’éducation, sauf peut-être pour des raisons historiques.

2
You

Les cadres ne sont pas obsolètes en HTML5, mais en XHTML 1.1 Strict et 2.0, mais restent en XHTML Transitional et sont renvoyés en HTML5. Aussi ici est un article intéressant sur l’utilisation de CSS pour imiter des cadres sans cadres. Je viens de le tester dans IE 8, FF 3, Opera 11, Safari 5, Chrome 8. J'aime les cadres, mais ils ont leurs problèmes, en particulier avec les moteurs de recherche, les signets et l'impression, et avec CSS, vous pouvez créer ou afficher uniquement le contenu. J'espère mettre à niveau le cadre XHTML/CSS d'Alex sans solution de cadres en HTML5/CSS3.

1
Keith

J'ai utilisé des cadres sur mon site commercial d'éducation permanente depuis plus de 15 ans. Les cadres permettent au cadre de navigation de charger du matériel dans le cadre principal à l'aide de la fonction cible tout en laissant le cadre de navigation intact. De plus, les scripts Perl fonctionnent assez bien à partir d'une forme frame renvoyant la sortie dans la même frame. J'adore les cadres et continuerai de les utiliser. CSS est beaucoup trop compliqué pour une utilisation pratique. Je n'ai rencontré aucun problème lors de l'utilisation de cadres avec HTML5 avec IE, Safari, Chrome ou Firefox.

0
user4668867