Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Récupérer le "vrai" code source d'une frame

Envoyé par : dreko

Date : 20/03/2006 19:37

Bonjour,

J'ai voulu automatiser la tâche suivante : Sur une page html comportant 2 frames, affichage du code source de la première frame, copier coller du contenu dans une autre page comportant un formulaire, du contenu du Body de la frame et envoi à un script php qui analyse le code source envoyé.

J'ai donc réalisé une petite extension qui a l'aide du code suivant, récupère le code source du Body de la frame et l'envoit à mon script php:

var test = serializer.serializeToString(window._content.document.getElementsByTagName("frame")[0].contentDocument.getElementsByTagName("body")[0]);

Et ça ne marche pas ! J'ai cherché un moment avant de me rendre compte qu'il existe des différences dans le code source que je récupère avec la ligne ci dessus et celui que je récupère en faisant afficher code source !

Il y a des TBODY qui apparaissent, des guillements, des éléments qui ne sont plus dans le même ordre... bref pleins de trucs qui gènent mon script php !

Donc j'aimerais savoir comment récupérer le VRAI code source ! ça doit être possible vu que "afficher code source" le fait. A noter que lorsqu'on fait un "enregistrer sous" de la page Firefox modifie le code enregistré de la même façon !!!

# Re: Récupérer le "vrai" code source d'une frame

Envoyé par : laurentj

Date : 21/03/2006 17:34

il existe des différences dans le code source que je récupère avec la ligne ci dessus et celui que je récupère en faisant afficher code source !

Normal. Si le html d'origine est pourri, mozilla ajoute les tags manquant etc... Il complete le DOM de façon à pouvoir afficher la page correctement.

De plus, il se peut que la page soit modifié par du js embarqué.

Il faut donc que tu saches que ce que tu obtiens par ton code, c'est le contenu du DOM de la page affichée, modifiée, et non de la page reçue.

bref pleins de trucs qui gènent mon script php !

ah ? cela voudrait donc dire que ton script n'accepte pas les pages qui contiennent TBODY et d'autres choses ?? Pas glop si c'est le cas :-p

Donc j'aimerais savoir comment récupérer le VRAI code source ! ça doit être possible vu que "afficher code source" le fait.

Je ne sais pas. Faudrait décortiquer les sources du viewsource.

A noter que lorsqu'on fait un "enregistrer sous" de la page Firefox modifie le code enregistré de la même façon !!!

Oui logique. Surtout qu'il modifie plus que ça, puisqu'il recupere les fichiers annexes (images, css ...) pour les stocker sur le disque. Les urls de ces fichiers ne sont donc plus les mêmes et sont donc modifiées dans le source enregistré.

# Re: Récupérer le "vrai" code source d'une frame

Envoyé par : dreko

Date : 21/03/2006 18:18

Bon, je n'étais pas entré dans les détails pour ne pas comliquer les choses, mais le code source que je veux récupérer n'est pas de moi, donc je ne le maîtrise pas... Et c'est pareil pour le script php qui fait l'analyse. Moi je veux juste essayer de faire une extension qui fasse le lien entre les 2. Je suis déjà allé voir dans les sources du viewsource, c'est la première chose que j'ai faite... seulement avec mon niveau ourson en programmation, je nage un peu ! Je pensais qu'il y avait un moyen simple de récupérer le code source originel d'une page html.

# Re: Récupérer le "vrai" code source d'une frame

Envoyé par : Zéf

Date : 21/03/2006 22:05

Salut,

Oui je pense qu'il y en a un.
Si tu ne veux pas du code source "trafiqué" par FF; va le chercher toi-même :)

Utilise l'ajax pour aller chercher ton code brut je m'en sers pour récupérer des chaînes "brutes" en dehors de tout contexte html, donc normalement tu obtiendras ce que tu désires ainsi.

Bon courage,
Z.

# Re: Récupérer le "vrai" code source d'une frame

Envoyé par : laurentj

Date : 22/03/2006 11:29

Utilise l'ajax

Non, "utilise xmlhttprequest" tu voulais dire. Ajax != xmlhttprequest.

# Re: Récupérer le "vrai" code source d'une frame

Envoyé par : Zéf

Date : 23/03/2006 08:43

Bonjour,

Oui en effet c'est bien ce que je voulais dire.

Il me semblait avoir lu quelque part :

Cependant, avec la mode ajax, chez beaucoup de développeur, ce terme regroupe maintenant tout et n'importe quoi, à tel point que dés que l'on fait du drag and drop, ou que l'on fait du DOM, beaucoup croient qu'ils font de l'Ajax. (Pour ceux qui n'aurait pas compris : on fait de l'ajax quand on utilise xmlhttprequest, point barre).

Je donne le lien, car j'avais bien aimé cet article : Ajax est déjà obsolète

Visiblement j'ai pas dû tout comprendre,
Z.

# Re: Récupérer le "vrai" code source d'une frame

Envoyé par : laurentj

Date : 23/03/2006 13:39

oui je me suis emmelé les pinceaux. Désolé. :-)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.