Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# getElementsByTagName qui ne fonctionne pas

Envoyé par : qwix

Date : 26/12/2007 10:25

Bonjour :)

Je suis en train d'apprendre les bases pour développer des extensions Firefox et je suis confronté à un problème, mon utilisation de getElementsByTagName ne semble pas fonctionner.

C'est très bizarre car quand je teste mon code JS dans un page HTML 'nue' il fonctionne. Par contre quand je porte ce code dans mon extension Firefox, ça ne fonctionne plus.

Le code est très basique, le voici :

var nodes   = document.getElementsByTagName("body")[0].firstChild;
var pattern = new RegExp("foo","ig");
var replace = 'bar';
while( nodes != null )
{
  var content = nodes.innerHTML;
  if( content !== undefined )
  {
    nodes.innerHTML = content.replace( pattern, replace );
  }
  nodes = nodes.nextSibling;
}

Ce code marche dans une page HTML basique, mais pas dans mon extension, quand je regarde la console d'erreur me dit le message d'erreur suivant : Erreur : document.getElementsByTagName("body")0 has no properties

Pourtant mon tag <body> contient des informations et des sous tags, et ce code marche dans une page 'normale', j'ai du rater quelque chose mais je ne parvient pas à trouver.

Note: la fonction qui charge ce code est lancé de la façon suivante:

appcontent.addEventListener("DOMContentLoaded", this.onPageLoad, true);

Merci d'avance pour tout aide / commentaire / critique.

# Re: getElementsByTagName qui ne fonctionne pas

Envoyé par : demanghonj

Date : 26/12/2007 13:43

Cette fonction ne marche pas avec xul. Par contre voici une alternative de mon point de vue plus interressante que getElementsByName():

getElementsByAttribute( attrib, value )
Return type: DOM NodeList
Returns an array of all the child elements of the element that have >the attribute given by the first argument set to the value given by the >second argument. If the second argument is '*', the attribute may be >set to any value.

Bon courage pour la suite

# Re: getElementsByTagName qui ne fonctionne pas

Envoyé par : qwix

Date : 26/12/2007 19:40

Je vais essayer ton alternative. Merci à toi :)

# Re: getElementsByTagName qui ne fonctionne pas

Envoyé par : qwix

Date : 06/01/2008 13:19

Re bonjour.

J'ai essayé ton alternative, mais elle ne semble pas fonctionner, soit je l'utilise mal, soit ça ne convient pas dans mon cas.

Si je lis correctement la documentation , cette fonction ne vas pas me permettre de récupérer tout le contenu présent en les tags <body> et </body>, si encore <body> avait un attribut unique et que je sois sûr de pouvoir me baser dessus, je pourrais m'en servir mais pour l'instant le tag <body> dont je dois récupérer les enfants peut-être vide.

Peut-être qu'il existe une librairie qui me permet d'arriver à mes fins ? J'ai parcouru la documentation XUL à la recherche d'une fonction qui pourrait m'aider, je n'ai rien trouvé.

Merci d'avance pour toute aide que vous pourrez m'apporter.

:)

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.