Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# parser une page web

Envoyé par : crystalizer

Date : 29/01/2006 20:09

je souhaite pouvoir parser la page web affichée par firefox, sous forme de plugin. comment puis-je m'y prendre ?

# Re: parser une page web

Envoyé par : chBok

Date : 29/01/2006 22:31

Personnellement, je n'ai pas trop compris la question. Peux-tu expliciter ce que tu entends par "parser" et "plugin" dans le cas qui te concerne ?

# Re: parser une page web

Envoyé par : crystalizer

Date : 30/01/2006 09:59

parser un page web = parcourir une page web

quand une page web est chargée et affichée par firefox, je souhaite parcourir le contenu de son code source et je souhaite créer un plugin pour ça, c'est-à-dire une extension firefox

# Re: parser une page web

Envoyé par : laurentj

Date : 30/01/2006 10:07

je souhaite créer un plugin pour ça, c'est-à-dire une extension firefox

attention, dans le jargon mozilla, plugin et extension sont deux choses totalement differentes. Un plugin est un programme dont l'affichage s'incruste dans une page web (plugin flash, plugin java pour les applet, etc..). Une extension est autre chose : ça étend les fonctionnalités du navigateur.

Pour en revenir à ta question : le sujet est bien trop vaste pour tout t'expliquer. Lis d'abord /wiki/Extensions. Ensuite, pour acceder au contenu d'une page affichée dans le navigateur : window._content.document si mes souvenirs sont bon.

# Re: parser une page web

Envoyé par : crystalizer

Date : 30/01/2006 10:13

yep, je pars sur une extension, j'ai commencé les tutos, merci

# Re: parser une page web

Envoyé par : crystalizer

Date : 30/01/2006 12:24

comment conserver le comportement standard de firefox en faisant appel à la méthode onload de la fenêtre principale ?

si j'utilise la ligne suivante :

<window id="main-window" load="doThings();">

je perds alors le comportement standard de la fenêtre principale : pas de chargement de la page par défaut, plus de bookmarks, ...

# Re: parser une page web

Envoyé par : laurentj

Date : 30/01/2006 12:53

Avec window.addEventListener. Voir http://www.xulplanet.com/references/objr(..)

# Re: parser une page web

Envoyé par : Drazic

Date : 30/01/2006 15:48

Salut !

Premièrement, suis le tuto pour ton extension... (Personnellement, je trouve que le tuto à l'adresse http://developer.mozilla.org/fr/docs/Construire_une_extension est mieux adapté aux débutants sans notions que le tuto de xulfr.org).

Ensuite, je te met un bout de code source de l'une de mes extensions. Ce bout de code parcourre justement certains éléments HTML, c'est un bon exemple pour t'aider !

Petite explication du programme : Je dois arriver sur une page qui a 2 frames, je sélectionne la première frame du navigateur, dans le but de sélectionner un div ayant l'id "div1" se trouvant à l'intérieur de la frame.

var testFrame=content.document.childNodes[1]; // Sélectionne l'élement body
var ok=0; // Variable qui déterminera si une frame est trouvé
for (var i=0 ; i<testFrame.childNodes.length ; i++) {
 if(testFrame.childNodes[i].tagName=="FRAMESET") ok=1; // Si une frame est trouvée, met la valeur 1 dans la variable ok
}
if (ok==0) { // Si la frame n'est pas trouvée...
 setTimeout("abbAutoRedirect()",timer); // Rappelle la fonction après un certain temps
 return; // termine cette fonction
}
else { // Si la frame est trouvée
 var divtest=content.document.getElementsByTagName("frame")[0].contentDocument.getElementById("div1"); // Sélectionne le div ayant l'id "div1"
 if(divtest!=null) {
  ...   // Si le div a été trouvé, alors....
 }
}

Bonne chance ;)

# Re: parser une page web

Envoyé par : crystalizer

Date : 30/01/2006 15:58

tout à fait d'accord pour le tuto de developper.mozilla.org, il est nettement plus simple à digérer..

j'ai essayé le window.addEventListener à toutes les sauces que j'ai placé dans une fonction javascript qui s'exécute au lancement de firefox mais ça ne fait rien :

dans le fichier xul :

<window id="main-window" onload="BrowserStartup(); listen();"> </window>

dans le fichier javascript :

function pageLoaded() {

  alert("page chargée");

}

function listen() {

  window._content.addEventListener("load", pageLoaded, false);

}

vous voyez pourquoi ?

# Re: parser une page web

Envoyé par : crystalizer

Date : 30/01/2006 16:44

je passe par un window.getBrowser().addProgressListener(... et ça fonctionne

# Re: parser une page web

Envoyé par : odyla

Date : 17/05/2008 11:47

Bonjour,

Je souhaite réaliser une extension assez basique qui ressemble à ce que voulait faire crystalizer : je souhaite parser le contenu html de chaque page visitée au cours de la navigation, et ce sans aucune action de la part de l'utilisateur (à part installer l'extension une fois pour toute). L'idée est de récupérer automatiquement tous liens qui pointent vers un fil RSS.

Je commence sous XUL et j'avoue ne pas trop m'y retrouver dans la syntaxe du fichier .xul. Et comme ce que je veux faire est assez différent de ce qui se fait dans les premiers tutoriels, je ne peux pas trop m'appuyer dessus. Pourriez vous m'aider ?

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.