Forums : Les possiblités de la plateforme Mozilla

Aller à la discussion :  Plus récente Plus ancienne

# Variable globale entre diiférentes pages xul

Envoyé par : MehdiB

Date : 28/11/2006 18:04

Bonsoir à tous,

J'aimerai savoir si il est possible de récupérer une donnée entrée par un utilisateur dans un champs texte, de la placer dans une variable globale et de faire en sorte qu'elle puisse être réutilisée si on passe à d'autres pages .xul par le code javascript de ces dernières. Si oui comment faut-il procéder?

Merci beaucoup!

# Re: Variable globale entre diiférentes pages xul

Envoyé par : laurentj

Date : 29/11/2006 09:32

Faut créer un composant xpcom que tu utiliserais en tant que service, et dans lequel donc tu stockerais tes données.

# Re: Variable globale entre diiférentes pages xul

Envoyé par : MehdiB

Date : 29/11/2006 09:45

Bonjour!

Merci pour ta réponse mais quel est ce composant?

Merci!!

# Re: Variable globale entre diiférentes pages xul

Envoyé par : laurentj

Date : 01/12/2006 16:35

il faut le créer...

# Re: Variable globale entre diiférentes pages xul

Envoyé par : thefab

Date : 01/12/2006 16:59

J'avais commencé un composant comme ça, mais il ne fonctionne pas encore pour tous les types de variables: nsIVariant fonctionne pour String, Number, Boolean, Array, ainsi que tous ceux qui hérite de nsISupports mais pas pour Date et Object...

Le fichier IDL:

#include "nsISupports.idl"

interface nsIVariant;

[scriptable, uuid(e275f8da-b703-1029-b2b0-94f71995a36e)]
interface esIGlob : nsISupports
    {
    nsIVariant getValue(in string name);
    void setValue(in string name, in nsIVariant value);
    };

Le fichier JS du composant (simplifié):

Glob.prototype =
    {
    values: [],

    getValue: function(name)
        {
        return this.values[name];
        },

    setValue: function(name, value)
        {
        this.values[name] = value;
        },
    }

Ensuite il s'utilise comme un service:

var glob = Components.classes["@echosystem.ch/glob;1"]
    .getService(Components.interfaces.esIGlob);

glob.setValue("x", "Variable Globale");

et:

// Lu depuis une autre fenêtre
var x = glob.getValue("x");

# Re: Variable globale entre diiférentes pages xul

Envoyé par : thefab

Date : 01/12/2006 18:15

Je viens de voir que XML-RPC utilise quelque chose qui pourrait servir pour les dates: PRTime

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.