"Piloter" une iframe ?
Fermé
Leghe59
Messages postés
34
Date d'inscription
mercredi 14 juin 2017
Statut
Membre
Dernière intervention
17 avril 2021
-
1 nov. 2020 à 16:48
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 1 nov. 2020 à 19:03
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 1 nov. 2020 à 19:03
A voir également:
- "Piloter" une iframe ?
- Comment piloter un hélicoptère gta 5 ps4 - Forum Jeux vidéo
- Windows a trouvé un pilote mais a rencontré une erreur en essayant de l'installer - Forum Pilotes (drivers)
- Iframe n'autorise pas la connexion - Forum HTML
- Www.youtube.com n'autorise pas la connexion. iframe - Forum YouTube
- Comment piloter ma tv avec la télécommande canal 4k - Forum Téléviseurs
1 réponse
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
1 nov. 2020 à 19:03
1 nov. 2020 à 19:03
Bonjour,
Par défaut, cela n'est pas autorisé pour des raisons de sécurité.
Si cela était permis, cela signifierait qu'un site quelconque (potentiellement géré par une personne malveillante) pourrait charger un autre site via une iframe et récupérer les informations sur cet autre site, tel qu'il est chargé par le visiteur.
Un exemple concret : le site https://example.com/ pourrait charge https://www.facebook.com/ et donc, en accédant à https://example.com/, le site example.com pourrait lire les flux d'actualités Facebook de ses visiteurs + toutes les autres informations sensibles (discussions, réglages, ...).
Par défaut, les navigateurs autorisent cela seulemnt si la page parent et la page enfant ont la même "origine" (same origin policy).
Une même origine signifie : même protocole, même nom d'hôte et même port.
Donc https://example.com/page1.html peut charger https://example.com/page2.html et lire le contenu sur page2.html. Mais https://example1.com/ ne peut pas lire une page sur https://example2.com/ via l'iframe.
Si https://example1.com/ veut charger une page sur https://example2.com/, alors l'administrateur de example2.com doit explicitement autoriser example1.com via les entêtes Access-Control-Allow-Origin.
Il faut bien comprendre que c'est une sécurité implémentée par le navigateur pour protéger le visiteur. Sans celle-ci, le surf en ligne serait un champ de mines !
Pour plus d'informations : https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Mais une fois ce problème de "cross origin" résolu (lorsque c'est possible), alors oui, une page parent peut gérer un formulaire dans une page enfant :
https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow
https://benohead.com/blog/2015/12/07/cross-document-communication-with-iframes/
Par défaut, cela n'est pas autorisé pour des raisons de sécurité.
Si cela était permis, cela signifierait qu'un site quelconque (potentiellement géré par une personne malveillante) pourrait charger un autre site via une iframe et récupérer les informations sur cet autre site, tel qu'il est chargé par le visiteur.
Un exemple concret : le site https://example.com/ pourrait charge https://www.facebook.com/ et donc, en accédant à https://example.com/, le site example.com pourrait lire les flux d'actualités Facebook de ses visiteurs + toutes les autres informations sensibles (discussions, réglages, ...).
Par défaut, les navigateurs autorisent cela seulemnt si la page parent et la page enfant ont la même "origine" (same origin policy).
Une même origine signifie : même protocole, même nom d'hôte et même port.
Donc https://example.com/page1.html peut charger https://example.com/page2.html et lire le contenu sur page2.html. Mais https://example1.com/ ne peut pas lire une page sur https://example2.com/ via l'iframe.
Si https://example1.com/ veut charger une page sur https://example2.com/, alors l'administrateur de example2.com doit explicitement autoriser example1.com via les entêtes Access-Control-Allow-Origin.
Il faut bien comprendre que c'est une sécurité implémentée par le navigateur pour protéger le visiteur. Sans celle-ci, le surf en ligne serait un champ de mines !
Pour plus d'informations : https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Mais une fois ce problème de "cross origin" résolu (lorsque c'est possible), alors oui, une page parent peut gérer un formulaire dans une page enfant :
https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow
https://benohead.com/blog/2015/12/07/cross-document-communication-with-iframes/