Un moyen d'utiliser des cadres en HTML5?
Pour l'école je dois faire un site web et il doit utiliser ces vieux cadres FML de merde. Je me suis déjà plaint de cela à mon professeur sans aucun succès: (
je veux utiliser HTML5, mais il semble que les cadres soient dépréciés. Dois-je vraiment utiliser XHTML ou HTML 4? Y a-t-il une solution qui permet à mes pages de valider HTML5 à l'aide de cadres?
6 réponses
maintenant, il y a beaucoup d'exemples où je réponds à des questions avec des essais sur pourquoi il est important de suivre les règles de validation. J'ai aussi dit que parfois il faut juste être un rebelle et enfreindre les règles, et documenter les raisons.
Vous pouvez voir dans cet exemple que il n'travail en HTML5 encore. J'ai dû télécharger le code et ajouter un doctype HTML5 en haut, cependant. Mais l'élément frameset était encore reconnu, et le résultat souhaité était atteindre.
par conséquent, en sachant que l'utilisation de framesets est complètement absurde, et en sachant que vous devez utiliser ceci comme dicté par votre professeur/enseignant, vous pouvez simplement gérer la seule erreur de validation dans le validateur W3C et utiliser à la fois l'élément vidéo HTML5 ainsi que l'élément frameset déprécié.
<!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>
gardez à l'esprit que si c'est un projet pour l'école, il est très probable que ce ne sera pas quelque chose qui sera autour dans un an ou deux une fois le navigateur les fournisseurs suppriment complètement la prise en charge des cadres pour HTML5. Sachez simplement que vous êtes juste et bon de faire ce que votre professeur vous demande juste pour obtenir le grade de :)
mise à jour:
le doc parent supérieur utilise XHTML et le frame HTML5. Le validateur ne s'est pas plaint que le frameset soit illégal, et il ne s'est pas plaint de la vidéo élément.
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>
vidéo.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>
je sais que votre classe est terminée, mais les professionnels de codage, que ce soit une leçon:
- "Obsolète" signifie "éviter de l'utiliser, il va être supprimé dans le futur"
- les choses dépréciées fonctionnent encore - ne vous attendez tout simplement pas à du soutien ou à une vérification de l'avenir
- si l'exigence l'exige, et que vous ne pouvez pas la négocier, utilisez simplement la construction dépréciée.
- si vous êtes vraiment concerné, développez l'implémentation alternative sur le côté et de le garder prêt pour l'inévitable échec
- Charge pour le travail supplémentaire maintenant. En demandant une fonctionnalité obsolète, ils vous demandent de doubler le travail. Tu vas la revoir de toute façon, alors autant la charger à l'avant.
- lorsque l'échec se produit, faites savoir à la partie intéressée que c'était ce que vous craigniez; que vous vous y êtes préparé, mais cela prendra un certain temps
- déployez votre solution aussi vite que vous le pouvez (il y aura des bugs)
- Gain rep pour prévenir les temps d'arrêt excessifs.
peut-être une injection de contenu de page AJAX pourrait être utilisé comme une alternative, bien que je ne peux toujours pas se déplacer pourquoi votre enseignant refuserait de débarrasser le site web de cadres.
En outre, y a-t-il une raison spécifique pour laquelle vous voulez nous HTML5?
Mais sinon, je crois <iframe>
s sont toujours là.
vous devrez recourir à XHTML ou HTML 4.01 pour cela. Bien que iframe
s'il y en HTML5, son utilisation n'est pas recommandée pour l'intégration de contenu destiné à l'utilisateur.
et assurez-vous de dire à votre professeur que les cadres n'ont pas été à la pointe depuis la fin des années 90. Ils n'ont aucune place dans aucun type d'éducation, sauf peut-être pour des raisons historiques.
les cadres n'ont pas été dépréciés dans HTML5, mais ils ont été dépréciés dans XHTML 1.1 Strict et 2.0, mais sont restés dans XHTML Transitional et retournés dans HTML5. Aussi ici est un article intéressant sur l'utilisation de CSS pour imiter des cadres sans cadres. Je l'ai testé 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 l'impression ou afficher seulement le contenu. J'espère mise à niveau du cadre XHTML/CSS D'Alex sans solution de cadres à HTML5/CSS3.
j'utilise des cadres sur mon site commercial de formation continue depuis plus de 15 ans. Les cadres permettent au cadre de navigation de charger du matériel dans le cadre principal en utilisant la fonction cible tout en laissant le cadre du navigateur intact. De plus, les scripts Perl fonctionnent très bien à partir d'une forme de frame retournant la sortie à la même frame. J'aime les images et continuer à les utiliser. CSS est beaucoup trop compliqué pour une utilisation pratique. Je n'ai eu aucun problème à l'aide de cadres avec HTML5 avec IE, Safari, Chrome, ou Firefox.