Découvrez les bases du travail avec le HTMLiframe
étiqueter
Leiframe
La balise nous permet d'intégrer du contenu provenant d'autres origines (d'autres sites) dans notre page Web.
Techniquement, une iframe crée un nouveau contexte de navigation imbriqué. Cela signifie que tout ce qui se trouve dans l'iframe n'interfère pas avec la page parente, et vice versa. JavaScript et CSS ne «fuient» pas vers / depuis les iframes.
De nombreux sites utilisent des iframes pour effectuer diverses tâches. Vous connaissez peut-être Codepen, Glitch ou d'autres sites qui vous permettent de coder dans une partie de la page, et vous voyez le résultat dans une boîte. C'est une iframe.
Vous en créez un de cette façon:
<iframe src="page.html"></iframe>
Vous pouvez également charger une URL absolue:
<iframe src="https://site.com/page.html"></iframe>
Vous pouvez définir un ensemble de paramètres de largeur et de hauteur (ou les définir en utilisant CSS) sinon l'iframe utilisera les valeurs par défaut, une boîte de 300x150 pixels:
<iframe src="page.html" width="800" height="400"></iframe>
Srcdoc
Lesrcdoc
L'attribut vous permet de spécifier du HTML intégré à afficher. C'est une alternative àsrc
, mais récent et non pris en charge dans Edge 18 et versions antérieures, et dans IE:
<iframe srcdoc="<p>My dog is a good dog</p>"></iframe>
bac à sable
Lesandbox
L'attribut nous permet de limiter les opérations autorisées dans les iframes.
Si nous l'omettons, tout est permis:
<iframe src="page.html"></iframe>
Si nous le définissons sur «», rien n'est autorisé:
<iframe src="page.html" sandbox=""></iframe>
Nous pouvons sélectionner ce qu'il faut autoriser en ajoutant des options dans lesandbox
attribut. Vous pouvez en autoriser plusieurs en ajoutant un espace entre les deux. Voici une liste incomplète des options que vous pouvez utiliser:
allow-forms
: autoriser l'envoi de formulairesallow-modals
permet d'ouvrir les fenêtres modales, y compris l'appelalert()
en JavaScriptallow-orientation-lock
permet de verrouiller l'orientation de l'écranallow-popups
autoriser les fenêtres contextuelles, en utilisantwindow.open()
ettarget="_blank"
liensallow-same-origin
traiter la ressource en cours de chargement comme la même origineallow-scripts
permet à l'iframe chargé d'exécuter des scripts (mais pas de créer des fenêtres contextuelles).allow-top-navigation
donne accès à l'iframe au contexte de navigation de niveau supérieur
Permettre
Actuellement expérimental et uniquement pris en charge par les navigateurs basés sur Chromium, c'est l'avenir du partage de ressources entre la fenêtre parente et l'iframe.
C'est similaire ausandbox
attribut, mais nous permet d'autoriser des fonctionnalités spécifiques, notamment:
accelerometer
donne accès à l'interface de l'accéléromètre API Sensorsambient-light-sensor
donne accès à l'interface AmbientLightSensor de l'API Sensorsautoplay
permet de lire automatiquement des fichiers vidéo et audiocamera
permet d'accéder à la caméra depuis leAPI getUserMediadisplay-capture
permet d'accéder au contenu de l'écran à l'aide de l'API getDisplayMediafullscreen
permet d'accéder au mode plein écrangeolocation
permet d'accéder auAPI de géolocalisationgyroscope
donne accès à l'interface du gyroscope de l'API Sensorsmagnetometer
donne accès à l'interface du magnétomètre API Sensorsmicrophone
donne accès au microphone de l'appareil à l'aide de l'API getUserMediamidi
permet d'accéder à l'API Web MIDIpayment
donne accès à l'API de demande de paiementspeaker
permet d'accéder à la lecture audio via les haut-parleurs de l'appareilusb
donne accès à l'API WebUSB.vibrate
donne accès à l'API Vibrationvr
donne accès à l'API WebVR
Référent
Lors du chargement d'une iframe, le navigateur lui envoie des informations importantes sur la personne qui la charge dans leReferer
en-tête (notez le seulr
, une faute de frappe avec laquelle nous devons vivre).
The misspelling of referrer originated in the original proposal by computer scientist Phillip Hallam-Baker to incorporate the field into the HTTP specification. The misspelling was set in stone by the time of its incorporation into the Request for Comments standards document RFC 1945
Lereferrerpolicy
L'attribut nous permet de définir le référent à envoyer à l'iframe lors de son chargement. Le référent est un en-tête HTTP qui permet à la page de savoir qui le charge. Voici les valeurs autorisées:
no-referrer-when-downgrade
c'est la valeur par défaut, et envoie le référent lorsque la page actuelle est chargée via HTTPS et l'iframe se charge sur le protocole HTTPno-referrer
n'envoie pas l'en-tête du référentorigin
le référent est envoyé et ne contient que l'origine (port, protocole, domaine), pas l'origine + chemin qui est la valeur par défautorigin-when-cross-origin
lors du chargement depuis la même origine (port, protocole, domaine) dans l'iframe, le référent est envoyé sous sa forme complète (origine + chemin). Sinon, seule l'origine est envoyéesame-origin
le référent est envoyé uniquement lors du chargement depuis la même origine (port, protocole, domaine) dans l'iframestrict-origin
envoie l'origine comme référent si la page actuelle est chargée via HTTPS et si l'iframe se charge également sur le protocole HTTPS. N'envoie rien si l'iframe est chargé via HTTPstrict-origin-when-cross-origin
envoie l'origine + chemin comme référent lorsque vous travaillez sur la même origine. Envoie l'origine comme référent si la page actuelle est chargée via HTTPS et si l'iframe se charge également sur le protocole HTTPS. N'envoie rien si l'iframe est chargé via HTTPunsafe-url
: envoie l'origine + chemin comme référent même lors du chargement de ressources depuis HTTP et la page actuelle est chargée via HTTPS
Téléchargez mon gratuitManuel HTML
Plus de tutoriels html:
- Une introduction au HTML
- La balise HTML `iframe`
- Formulaires HTML
- La balise HTML `video`
- La balise HTML `audio`
- Balises HTML pour le texte
- Tableaux HTML
- La balise HTML `img`
- La balise HTML `a`
- La balise HTML `picture`
- La balise HTML `figure`
- Balises de conteneur HTML
- Accessibilité sur le Web
- Comment créer un commentaire en HTML
- Comment changer une URL d'image HTML en mode sombre
- Images réactives utilisant `srcset`
- Changer le favicon en mode sombre