est-il possible de lire / éditer des matières iframe (non seulement des propriétés telles que SRC) avec des scripts qui sont à la page mais en dehors de ce cadre? Je sais que c'est impossible si la source provient d'un autre site car ce serait un grand trou de sirurisation, mais je ne demande que si cela fonctionne pour un autre contenu de la même origine. P>
5 Réponses :
Si la teneur en iframe est du même domaine, vous pouvez y accéder à l'aide de frames.myiframe.getelement ... code> p>
Le navigateur ne limite que l'accès aux contenus iframe / parent pour le contenu qui n'est pas du même domaine. Pour les demandes du même domaine, vous pouvez accéder au contenu via window.parent code> ou via
myiframe.document.getelementbyid code> p> p>
Oui, vous pouvez le faire si l'emplacement de l'iframe et de la page parent sont du même hôte (même politique d'origine).
Pour vous assurer que le navigateur vous permettra de le faire, vous pouvez utiliser P> sur la page mère et dans l'iframe. (Notez que ce sous-domaine.example.com et exemple.com sont différents) P> Méthode DOM pour le faire (page mère à iframe): strong> p> Pour aller dans l'autre sens (iframe à la page parlée): strong> p>
Pour ajouter à ce qui a déjà été dit sur l'interaction avec des iframes chargés du même domaine:
Le navigateur vous permettra d'interagir avec des iframes (ou des cadres) aussi longtemps que la page qui tente de faire l'interaction et La page que vous avez chargée a le même document.Domain. p>
Vous pouvez définir le document.Domain dans un suffixe de l'hôte que vous avez été chargé de. par exemple. Si vous avez une page chargée de blog.fred.com et qu'il souhaite interagir avec un service appelé jsonservice.fred.com, les deux pages devront faire p> avant JavaScript D'un autre sera en mesure d'interagir avec l'autre. p> Les navigateurs sont assez intelligents pour ne pas vous permettre de définir votre document.domain à '.com', au cas où vous vous demandiez ... P> p>
Ce n'est pas exactement une solution côté client / JavaScript, mais cela m'a aidé à résoudre le problème.
Vous devez supprimer l'en-tête et supplémentaire pour IE: p> OPTIONS X-FRAMD-FRAMD-Options CODE>, si présent et Au lieu de cela, envoyez-en la page suivante pour la page IFrame: p>
X-Content-Security-Policy: frame-ancestors 'self' example.com *.example.com
Je pense que ce lien dit tout iframes de script - tutoriel et exemples