Recuperer le texte d'un iframe dans variable :(

Recuperer le texte d'un iframe dans variable :( - HTML/CSS - Programmation

Marsh Posté le 17-02-2010 à 11:56:31    

Bonjour à tous :)
Pour ne pas recréer de topic je modifie complètement mon ancien ;)
 
J'ai créé un petit script (cf code source plus bas) essentiellement en html/javascript, mais j'ai un petit soucis.. L'idée est de créer une iframe et d'y insérer un code source d'une page (donc un lien de type "view-source:http://www.google.fr" ).
Une fois le code source de la page souhaitée dans l'iframe, je voudrais récupérer ce texte dans une variable ou un fichier pour pouvoir le traiter ensuite.
 
Là où ça coince, c'est que je souhaite afficher ma variable pour vérifier qu'elle contient bien le texte voulu, mais au lieu de ça j'ai le droit à un beau "undefined" .. :/ J'en déduis donc que le texte de l'iframe n'arrive pas à être récupéré (voilà pourquoi je suis ici..).
 
Voici mon code:

Code :
  1. <html>
  2. <head>
  3. <DIV id='ta'>  <!-- création d'un div contenant l'iframe -->
  4. <IFRAME Id='monid' width=400 height=250 scrolling=auto frameborder=1> </IFRAME><br>
  5. </DIV>
  6. <SCRIPT language="javascript">
  7. document.getElementById("monid" ).src = "view-source:http://www.google.fr"; <!-- "remplissage de l'iframe" -->
  8. blabla = document.getElementById('monid').innerHTML; <!-- recuperation du texte dans une variable "blabla" -->
  9. </SCRIPT>
  10. <?php
  11. $variable = "<script>document.write(blabla);</script>"; //recuperation et affichage de la variable javascript en php
  12. echo $variable;
  13. ?>
  14. </body>
  15. </html>


 
 
Comme vous pouvez le voir je passe l'affichage de ma variable "blabla" par une variable php (ce qui fonctionne d'ordinaire..). Mais même en faisant un "alert(blabla);" le résultat est identique: undefined ...
 
Voici maintenant un screen de ce que j'obtiens en lançant le script:
http://img522.imageshack.us/img522/7728/testiframe.th.jpg
 
Il faudrait donc normalement que j'obtienne l'identique du code source de l'iframe à la place du "undefined" (ce qui signifierait que ma variable "blabla" est bien initialisé)..
 
Dernière petite question: est-il réellement possible de récupérer le texte qui s'affiche comme ça dans un iframe? car vu que je passe par un lien "view-source..." je ne sais pas trop.. De toute façon pour l'instant j'ai un résultat identique avec ou sans "view-source" donc bon..
 
 
Donc voilà, si quelqu'un pouvait avoir un petit truc ou astuce pour récupérer du texte provenant d'une iframe ça serait vraiment génial :D


Message édité par Elmoricq le 20-02-2010 à 03:02:04
Reply

Marsh Posté le 17-02-2010 à 11:56:31   

Reply

Marsh Posté le 17-02-2010 à 12:52:01    

Up :/

Reply

Marsh Posté le 17-02-2010 à 13:37:11    

Reply

Marsh Posté le 18-02-2010 à 23:39:27    

Up, modification totale du sujet :)

Reply

Marsh Posté le 18-02-2010 à 23:48:34    

Essayez "window["monid"].document.body.innerHTML" au lieu de "document.getElementById('monid').innerHTML"


---------------
J'apprends parler en français alors je ferai des erreurs. S'il vous plaît corrigez-moi :)
Reply

Marsh Posté le 19-02-2010 à 07:55:06    

Merci beaucoup, je tente ça et je vous tiens au courant :)

Reply

Marsh Posté le 19-02-2010 à 08:10:40    

Je n'obtiens rien du tout avec "window["monid"].document.body.innerHTML" (il ne reste plus que la frame qui s'affiche).
 
Mais même avec le code que j'ai donné en début de topic je n'obtiens plus le "undefined" xD
 
Dans tous les cas je devrais avoir une réécriture du code de la frame en dessous de celle-ci :'(

Reply

Marsh Posté le 19-02-2010 à 09:08:54    

Up :)

Reply

Marsh Posté le 19-02-2010 à 10:05:01    

window.frames['frame'].MaVar;


Message édité par fvp le 19-02-2010 à 10:06:07
Reply

Marsh Posté le 19-02-2010 à 19:51:53    

Bonsoir
 
la solution "window.frames['frame'].MaVar;" ne fonctionne pas :(  
 
j'en ai essayé des choses, mais rien, je n'arrive toujours pas à récupérer le contenu de ma frame (dans une variable ou un fichier)..
 
:(

Reply

Marsh Posté le 19-02-2010 à 19:51:53   

Reply

Marsh Posté le 19-02-2010 à 20:05:07    

http://softwareas.com/cross-domain [...] th-iframes


---------------
J'apprends parler en français alors je ferai des erreurs. S'il vous plaît corrigez-moi :)
Reply

Marsh Posté le 19-02-2010 à 20:25:27    

Merci pour l'aide AJW256, je vais jeter un coup d'oeil ;)
 
En attendant je pense avoir avancé, j'ai fait le code suivant:
 

Code :
  1. monobjet = window.frames['nomframe'].document;
  2. alert(monobjet);


 
Au final cela m'affiche " [object HTMLDocument] " .. Je pense donc que le contenu de l'iframe est bien retourné, mais je ne sais pas comment afficher le contenu de cet "objet" ..
 
Merci à tous ;)

Reply

Marsh Posté le 19-02-2010 à 23:04:04    

up :D

Reply

Marsh Posté le 20-02-2010 à 03:39:39    

Si je me souvien bien, tu n'a pas le droit de lire ce qui ya dans un iframe enfant depuis une page parent.
 
Imagine depuis mon site je t'envoi sur facebook et j'ai acces a tout ! (ex honteux mais je m'en fout, c'est un exemple)
 
Par contre, tu peux foutre du JS dans ton iframe qui renvoi des infos dans ton parent.

Reply

Marsh Posté le 20-02-2010 à 14:08:21    

Hum merci beaucoup pour cette grande précision! En effet j'aurai pu chercher longtemps.. :p
Bon et bien je vais me pencher sur le js que je pourrais utiliser ;)
Merci beaucoup :)

Reply

Marsh Posté le 22-02-2010 à 21:56:54    

Toujours le problème [object HTMLDocument] :( ... Si je comprend bien cet objet contient la hiérarchie de ma page html non? Donc je devrais pouvoir lire le contenu de cet objet non? Si oui comment?..
 
Merci à tous ;)

Reply

Marsh Posté le 24-02-2010 à 19:41:33    

Up :( je désespère... impossible de récupérer le code source d'une iframe (je cherche depuis un sacré bout de temps maintenant, et après avoir fait le tour de tous les forums je me demande si c'est réellement faisable :'( )

Reply

Marsh Posté le 24-02-2010 à 23:58:37    

Tu désespères pour quoi? T'as récupéré un object de la DOM, fait juste un alert(monobjet.innerHTML);. Aucune raison que ca marche pas sauf si, comme quelqu'un l'a dit, ya de la sécurité autour. Et si yen a, ben c'est probablement pas faisable.

 

Edit: ceci dit je vois pas pourquoi y aurait une quelconque sécurité, après tout le code source d'une page est lisible par le browser hein. D'ailleurs un collègue de boulot m'a dit s'etre fait zigouiller plusieurs de ses sites par des rigolos qui passent par des iframes.


Message édité par lasnoufle le 25-02-2010 à 00:01:59

---------------
C'était vraiment très intéressant.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed