Salut,
J'ai testé ta méthode, merci pour la piste.
Le débogueur Firefox me dit:
Citation :
SecurityError: Permission denied to access property "document" on cross-origin object
|
Le code testé, si ça intéresse quelqu'un:
Code :
- var Cadre_brut = document.getElementById("mon_Iframe" ); // ID dans la balise iframe
- var Cadre_Contenu = Cadre_brut.contentWindow;
- var x = Cadre_Contenu.document.getElementById("Element" );
- alert(x.innerHTML);
|
C'est à la ligne 3 que ca bug!
Cela doit vouloir dire que ce n'est pas le même domaine . Mais je ne comprends pas pourquoi on peut afficher une page, mais pas utiliser du javascript dessus.
EDIT:
J'ai fait quelques recherches du côté du Cross-Origin Resource Sharing (CORS)
Cependant, on trouve cet info sur cette page :
Citation :
Voici quelques exemples de ressources qui peuvent être embarqués malgré leur origine incomptatible avec la same-origin policy :
JavaScript avec <script src="..."></script>. Les messages d'erreur de syntaxe ne sont disponibles que pour les script ayant la même origine.
N'importe quoi avec <frame> et <iframe>. Un site peut utiliser l'entête X-Frame-Options pour interdire cela depuis une page n'ayant pas la même origine.
|
Du coup, théoriquement, ca devrait pouvoir marcher.
EDIT2:
J'ai eu une idée: est-ce une bonne piste?
Créer un objet en copiant la page. La copie en mémoire sera donc "locale", puis extraire les données souhaitées.
Parce que je reste complétement dubitatif sur le fait de pouvoir afficher une page, avec ses scripts (donc obtenir un code HTML), et de ne pas pouvoir lire ce code avec son propre JS... Ca ne vous étonne pas??
Message édité par ge_laf le 03-02-2019 à 14:32:54
---------------
---------------