Pourquoi les cadres sont-ils obsolètes en HTML5, mais pas les iFrames? Après tout, il n'y a presque pas de différence entre les deux. Dans de nombreux cas, l’utilisation de l’un ou de l’autre donnerait le même résultat (pardonnez-moi si je me trompe)?
67
Réponses:
Il y a quelques idées fausses dans votre message. Premièrement, les éléments
frame
etframeset
ne sont pas obsolètes en HTML5, ils sont obsolètes (ils ont donc été entièrement supprimés).Deuxièmement, les éléments
frame
etframeset
ne sont pas la même chose que l'iframe
élément et ne donnent pas le même résultat:L'
frameset
élément remplace l'élément body dans les pages en tant que moyen d'inclure un modèle de document différent pour les pages Web: ils sont nuisibles à la convivialité et à l'accessibilité, et ce qu'ils visaient à accomplir a été complètement remplacé par CSS et le développement omniprésent côté serveur.L'
iframe
élément, en revanche, ne remplace pas le corps d'une page. Il s'agit d'un moyen d'inclure un nouveau contexte de navigation intégré dans un bloc de contenu. Il ne souffre pas des mêmes problèmes d'utilisation et d'accessibilité que le modèle de jeu de cadres et est utilisé presque partout où il est nécessaire d'inclure un contexte de navigation intégré (les widgets étant l'exemple le plus prolifique). 1Le
iframe
HTML5 prend également des fonctionnalités supplémentaires dans la mesure où il peut être mis en sandbox , permettant au document parent de décider de ce qui sera exécuté en son sein. Cela permet une certaine sécurité pour le document parent (et les visiteurs du document parent) lors de l'incorporation de contenu non approuvé.Remarques
Remarque 1: l'
object
élément chevauche quelque peu l'iframe
élément, mais il a un modèle de contenu différent (qui est principalement destiné aux plug-ins), a son propre ensemble d'avertissements et ne possède pas les attributs de sandboxing de l'iframe
élément.la source
Les cadres (frameset) font office de document. Il est supprimé car il casse la structure et la navigation des documents HTML. Par exemple. vous avez des liens dans un cadre, du contenu dans l'autre, vous ne pouvez pas ouvrir le lien de la page dans une nouvelle fenêtre, vous ne pouvez pas créer de lien vers une sous-page spécifique, etc.
D'autre part, les iframes ne cassent rien s'ils sont utilisés correctement car ils sont destinés au contenu en mode bac à sable (par exemple, les annonces).
la source
Les jeux de cadres sont souvent utilisés de manière à briser le principe fondamental du Web, à savoir que chaque document a une URL unique. Cela pose des problèmes de liens, de signets, de moteurs de recherche, etc.
L'utilisation typique d'un jeu de cadres est un cadre en haut avec un logo ou un en-tête, un cadre sur le côté avec un menu et un cadre de contenu. Mais les moteurs de recherche indexent des pages individuelles. Ainsi, lorsque vous trouvez une page dans Google, elle renvoie directement à la page de contenu sans le jeu de cadres, ce qui vous fait perdre la navigation. Le problème avec les liens et les signets est que vous voudriez généralement lier ou mettre en signet une page de contenu particulière à l'intérieur du jeu de cadres, sans perdre le jeu de cadres lui-même. Le n'est pas un moyen facile de le faire.
La raison pour laquelle les framesets sont devenus populaires en premier lieu était parce qu'ils permettaient un en-tête et un menu positionnés de manière statique avec une zone de contenu défilante. Mais cela peut être réalisé beaucoup plus facilement avec CSS aujourd'hui. De plus, les cadres vous permettaient d'utiliser des éléments communs tels que les logos et les menus sur plusieurs pages sans utiliser de codage côté serveur. C'était un avantage à une époque où le codage côté serveur était fastidieux et sujet aux erreurs (c'est-à-dire les scripts CGI), et de nombreux hôtes n'autorisaient pas du tout la génération de scripts côté serveur. Aujourd'hui, avec les systèmes de gestion de contenu (CMS) et de meilleures plates-formes côté serveur, cette tâche est beaucoup mieux gérée du côté serveur.
Donc, en gros, utiliser un jeu de cadres ne présente aucun avantage, mais beaucoup de problèmes.
Les IFrames peuvent être utilisés de la même manière que les jeux de cadres, et dans ce cas, ils posent également les mêmes problèmes. Mais il existe également de nombreuses utilisations légitimes des iframes qui ne posent pas les mêmes problèmes.
la source