Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Différences entre JS+XUL et JS+HTML ??

Envoyé par : Thunderseb

Date : 13/04/2007 18:34

Bonjour à tous,

Je tente de faire un petit script pour une extension Firefox. Le script ne marche pas, une fois incorporé dans la page XUL, alors que ce même script fonctionne dans une page HTML.

Voici mon code. Je récupère la variable Racine égale à plip. var tableau est en fait une chaine de caractères dont toutes les parties sont séparées par une virgule. Je fais un tableau, puis je compare pour savoir si Racine est déjà présent dans ce tableau.

S'il ne l'est pas, je l'ajoute. Je teste pour savoir si le tableau contenait quelque chose, car si je fais le push tout seul et que le tableau est nul, il va commencer par une virgule.

var Racine = 'plip';
var tableau = 'plop,plip,plup,plap';
var tableau = tableau.split(",");
var ExisteDeja = 'non';
for(var i = 0; i in tableau; i++) 	{
	tableau[i]
	if(tableau[i] == Racine) {
		ExisteDeja = 'oui';
	}
}
if(ExisteDeja == 'non') {	
	tableau.push(Racine);
}
if(tableau[0]) {
	tableau = tableau.join(",");
}
else {
	tableau = Racine;
}

Ce code va très bien dans une page HTML, mais ne s'exécute pas dans une page XUL.

J'ai aussi le même problème avec ce petit script :

plop = '[url=site.be][img]image.gif[/img][/url]';
imgLien = plop.replace(/\[url=([\s\S]*?)\]([\s\S]*?)\[\/url]/g, '$1');
imgURL = plop.replace(/\[url=([\s\S]*?)\]\[img\]([\s\S]*?)\[\/img]\[\/url]/g, '$2');
alert(imgLien);
alert(imgURL);

Sous xul, imgLien et imgURL sont égale à on alors qu'en HTML, ça marche nikel.

J'avoue que j'ai du mal à comprendre :s

Je précise que la console ne renvoit pas de massages d'erreurs, ni même try()/catch()

Enfin, si vous avez une solution, je suis preneur :)

# Re: Différences entre JS+XUL et JS+HTML ??

Envoyé par : Paul Rouget

Date : 14/04/2007 01:24

Ton dernier bloc de code donne les bons résultats chez moi.

Pour ton premier bloc, il y a un tableaui en plein milieu du code qui ne sert à rien et qui n'a pas de ';', et en plus, et surtout, ta boucle for ne veut pas dire grand chose, essaye plutot ça:

for(var i = 0; i < tableau.length; i++) 	{
	if(tableau[i] == Racine) {
		ExisteDeja = 'oui';
		break;
	}
}

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.