<iframe></iframe>
L'élément <iframe> représente un contenu de navigation imbriqué qui permet en fait d'obtenir une page HTML intégrée dans la page courante. Depuis HTML 5 Cette balise possède 7 attributs:
- allowfullscreen Cet attribut, lorsqu'il vaut true indique que l'iframe intégrée peut être passée en plein écran via la méthode Element.requestFullscreen(). Si cet attribut n'est pas employé, l'élément ne pourra pas être affiché en mode plein écran.
- height Cet attribut définit la hauteur de l'iframe en pixels.
- name Un nom pour le contexte de navigation. Ce nom peut être utilisé comme la valeur de l'attribut target d'un élément <a> ou <form> ou comme valeur de l'attribut formtarget d'un élément <input> ou <button>.
- referrerpolicy Une chaîne de caractères qui indique le référent (referrer) à utiliser lors de la récupération de la ressource :
- no-referrer signifie que l'en-tête Referer ne sera pas envoyé.
- no-referrer-when-dowwngrade signifie que l'entête Referer sera envoyé lorsqu'on navigue vers une origine qui n'utilise pas TLS (HTTPS).
- origin signifie que le référent sera l'origine de la page (c'est-à-dire son schéma, son hôte et le port utilisé).
- origin-when-cross-origin signifie que les navigations vers d'autres origines seront limitées aux schémas, hôtes et ports. Les navigations sur la même origine inclueront le chemin explicite du référent.
- unsafe-url signifie que le référent incluera l'origine et le chemin (mais pas le fragment, le mot de passe ou le nom utilisateur). Cette valeur n'est pas sûre car elle peut entraîner des fuites d'origine ou de chemin provenant de ressources sécurisées avec TLS vers des origines insécures.
- sandbox Cet attribut permet d'appliquer des restrictions sur le contenu qui peut apparaître dans l'iframe. Si cet attribut vaut la chaîne de caractères vide, toutes les restrictions sont appliquées, sinon, on peut utiliser une liste de mots-clés séparés par des espaces pour définir des restrictions précises. Les mots-clés qui peuvent être utilisés sont :
- allow-forms Le contexte de navigation intégré peut envoyer des formulaires. Si ce mot-clé n'est pas utilisé, cette opération n'est pas autorisée.
- allow-modals Le contexte de navigation peut ouvrir des fenêtres modales.
- allow-orientation-lock Le contexte de navigation peut désactiver le verrouillage de l'orientation de l'écran.
- allow-pointer-lock Le contexte de navigation peut utliser l'API Pointer Lock.
- allow-popups Le contexte de navigation peut déclencher des popups (par exemple avec window.open, target="_blank", showModalDialog). Si ce mot-clé n'est pas utilisé, la fonctionnalité échouera sans message d'erreur.
- allow-popups-to-escape-sandbox Ce mot-clé permet à un document isolé dans un bac à sable (sandboxed) d'ouvrir de nouvelles fenêtres sans avoir à forcer la mise en bac à sable pour ces fenêtres. Cela permettra par exemple à une publicité tierce d'être correctement mise dans un bac à sable sans avoir à appliquer les mêmes restrictions sur la page initiale.
- allow-presentation Ce mot-clé permet à une iframe de démarrer une session de présentation.
- allow-same-origin Ce mot-clé permet au contenu d'être considéré comme étant de la même origine que le contexte parent. Si ce mot-clé n'est pas utilisé, le contenu intégré est considéré comme provenant d'une autre origine.
- allow-scripts Le contexte de navigation peut exécuter des scripts (mais ne peut pas créer de popups). Si ce mot-clé n'est pas utilisé, cette opération n'est pas autorisée.
- allow-top-navigation Le contexte de navigation peut charger du contenu depuis le contexte de navigation de plus haut niveau. Si ce mot-clé est absent, cette opération n'est pas autorisée.
- src L'URL de la page qu'on souhaite intégrer. On pourra utiliser about:blank sur les pages vides pour respecter les règles de même origine (Same-Origin Policy).
- srcdoc Le contenu de la page qu'on souhaite intégrer dans le contexte de navigation. Cet attribut est généralement utilisé avec l'attribut sandbox. Si le navigateur prend en charge l'attribut srcdoc, ce dernier surchargera le contenu éventuellement défini via l'attribut src. Si un navigateur ne prend pas en charge l'attribut srcdoc, c'est le contenu lié via src qui sera affiché. On notera que si le contenu de l'attribut contient une balise ouvrante <script>, il est nécessaire d'avoir une balise fermante afin que le script soit exécuté, même s'il n'y a aucun contenu après le script.
- width Cet attribut indique la largeur de l'iframe en pixels.