--- title: nsIPromptService slug: nsIPromptService tags: - Traduction_à_relire translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsIPromptService ---
nsIPromptService
peut être utilisé pour afficher de simples boîtes de dialogue. Ses méthodes devrait être utilisées de préférence à la place de window.alert(), window.confirm(), et des autres fonctions similaires du DOM.
Il est possible de définir les touches de raccourcis pour les boutons en insérant une esperluette ("&") devant le caractère correspondant. Si vous souhaitez insérer cette esperluette directement dans le texte du bouton (c'est-à-dire dans la valeur de l'attribut label
, sans utiliser de déclaration d'entité XML), utilisez-en deux ("&&").
void**
). En JavaScript, ce type de paramètre nécessite plus de travail car vous ne pouvez directement récupérer des paramètres en sortie. Vous devez les englober dans un objet. Cet objet peut être vide ou bien comporter un attribut value
dont la valeur correspond au type du paramètre en sortie.Hérite de : nsISupports
Implémenté par : @mozilla.org/embedcomp/prompt-service;1
. Pour créer une instance, faire comme suit :
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService);
void alert(in |
void alertCheck(in |
boolean confirm(in |
boolean confirmCheck(in |
PRInt32 confirmEx(in |
boolean prompt(in |
boolean promptUsernameAndPassword(in |
boolean promptPassword(in |
boolean select(in |
Les drapeaux décris ci-dessous sont combinés pour former le paramètre aButtonFlags
passé à la méthode confirmEx(). Tous les drapeaux sont des constantes de type unsigned long
et sont accessibles via
en JavaScript et Components.interfaces.nsIPromptService.flagname
nsIPromptService::flagname
en C++.
Constante | Valeur | Description |
BUTTON_POS_0 |
1 |
|
BUTTON_POS_1 |
256 |
|
BUTTON_POS_2 |
65536 |
Ces drapeaux sont utilisés conjointement avec les drapeaux de position pour modifier les textes des boutons de l'invite de commande.
Constante | Valeur | Description |
BUTTON_TITLE_OK |
1 |
|
BUTTON_TITLE_CANCEL |
2 |
|
BUTTON_TITLE_YES |
3 |
|
BUTTON_TITLE_NO |
4 |
|
BUTTON_TITLE_SAVE |
5 |
|
BUTTON_TITLE_DONT_SAVE |
6 |
|
BUTTON_TITLE_REVERT |
7 |
|
BUTTON_TITLE_IS_STRING |
127 |
Ces drapeaux sont utilisés pour spécifier le bouton par défaut.
Constante | Valeur | Description |
BUTTON_POS_0_DEFAULT |
0 | |
BUTTON_POS_1_DEFAULT |
16777216 | |
BUTTON_POS_2_DEFAULT |
33554432 |
Le drapeau Un délai peut être utile non seulement pour donner plus de temps de réflexion à l'utilisateur avant d'agir, mais également comme mesure de sécurité contre les sites internet qui créent intentionnellement une situation de compétition. Par exemple, un invite de commande affichant un message d'avertissement concernant la sécurité est affiché de manière inattendue et le bouton de validation est actionné involontairement.
|
|||||
Situation de compétition dans un circuit logique. ∆t1 and ∆t2 représentent les délais de propagation des éléments logiques. Lorsque la valeur en entrée (A) est modifiée, le circuit produit en sortie in pic d'une durée ∆t1. |
Constante | Valeur | Description |
STD_OK_CANCEL_BUTTONS |
513 |
boutons OK/Annuler.
|
STD_YES_NO_BUTTONS |
1027 |
Boutons Oui/Non.
|
Affiche une boîte de dialogue avec un bouton de confirmation. Cette méthode est similaire window.alert(), excepté qu'elle permet de spécifier le titre de la boîte de dialogue. Vous devriez utiliser cette méthode à la place de window.alert
.
void alert( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText );
aParent
null
, dans le cas ou le parent est nsIWindowWatcher.activeWindow
.aDialogTitle
aText
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); prompts.alert(null, \"Title of this Dialog\", \"Hello! You have now been alerted.\");
Affiche une boîte de dialogue avec un bouton de confirmation et une case à cocher accompagnée de son libellé.
void alertCheck( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, in wstring aCheckMsg, inout boolean aCheckState );
aParent
nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aCheckMsg
aCheckState
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var check = {value: false}; // case à cocher décochée par défaut prompts.alertCheck(null, \"Title of this Dialog\", \"Hello! You have now been alerted.\", \"And this is a checkbox\", check); // check.value vaut true si la case est cochée, false sinon
Affiche une boîte de dialogue avec un bouton OK et un bouton Annuler.
boolean confirm( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText );
aParent
aDialogTitle
aText
true
si le bouton OK est actionné, false
si le bouton Annuler est actionné.
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var result = prompts.confirm(null, \"Title of this Dialog\", \"Are you sure?\"); // result vaut true si le bouton OK est actionné, false si c'est le bouton Annuler
Affiche une boîte de dialogue avec un bouton OK et un bouton Annuler ainsi qu'une case à coché accompagnée de son libellé.
boolean confirmCheck( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, in wstring aCheckMsg, inout boolean aCheckState );
aParent
aDialogTitle
aText
aCheckMsg
aCheckState
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).true
si le bouton OK est actionné, false
si le bouton Annuler est actionné.
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var check = {value: true}; // case à cocher cochée par défaut var result = prompts.confirmCheck(null, \"Title of this Dialog\", \"Are you sure?\", \"Don't ask again\", check); // check.value vaut true si la case à cocher est cochée ET que le bouton OK est actionné, // false si le bouton Annuler est actionné.
Ouvre une boîte de dialogue comprenant 3 boutons et éventuellement une case à cocher accompagnée de son libellé.
Les boutons sont numérotés de 0 à 2. L'application peut décider d'afficher ces boutons de gauche à droite ou de droite à gauche. Le bouton 0 est activé par défaut à moins qu'un drapeau de bouton par défaut ne soit spécifié.
Un bouton peut utiliser un libellé prédéfini, spécifié par l'un des drapeaux de libellé de bouton. Chaque libellé peut être multiplié par un drapeau de position de bouton pour assigner le libellé à un bouton particulié. Lorsque le drapeau BUTTON_TITLE_IS_STRING
est utilisé pour un bouton, le paramètre de libellé de ce bouton est utilisé. Si la valeur de la position d'un bouton est à 0, le bouton ne sera pas affiché.
L'exemple suivant créé une boîte de dialogue avec un bouton OK et un bouton avec un libellé personnalisé :
aButtonFlags = (BUTTON_POS_0) * (BUTTON_TITLE_OK) +
(BUTTON_POS_1) * (BUTTON_TITLE_IS_STRING) +
BUTTON_POS_1_DEFAULT;
confirmEx
retourne toujours 1 lorsque l'utilisateur ferme la boîte de dialogue en utilisant le bouton de fermeture de la barre de titre ! bug 345067PRInt32 confirmEx( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, in unsigned long aButtonFlags, in wstring aButton0Title, in wstring aButton1Title, in wstring aButton2Title, in wstring aCheckMsg, inout boolean aCheckState );
aParent
aDialogTitle
aText
aButtonFlags
aButtonFlags
est une combinaison de drapeaux de boutons.aButton0Title
(BUTTON_TITLE_IS_STRING*BUTTON_TITLE_POS_0)
est utilisé pour le paramètre aButtonFlags
.aButton1Title
(BUTTON_TITLE_IS_STRING*BUTTON_TITLE_POS_1)
est utilisé pour le paramètre aButtonFlags
.aButton2Title
(BUTTON_TITLE_IS_STRING*BUTTON_TITLE_POS_2)
est utilisé pour le paramètre aButtonFlags
.aCheckMsg
aCheckState
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).L'index du bouton actionné.
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var check = {value: false}; // case à cocher décochée par défaut var flags = prompts.BUTTON_POS_0 * prompts.BUTTON_TITLE_SAVE + prompts.BUTTON_POS_1 * prompts.BUTTON_TITLE_IS_STRING + prompts.BUTTON_POS_2 * prompts.BUTTON_TITLE_CANCEL; // Ces drapeaux créent 3 boutons. Le premier est un bouton \"Save\", le // second la valeur de aButtonTitle1, et le troisième un bouton \"Cancel\" var button = prompts.confirmEx(null, \"Title of this Dialog\", \"What do you want to do?\", flags, \"\", \"Button 1\", \"\", null, check); // La case à cocher est cachée et button contient l'index du bouton acctionné, // 0, 1, ou 2.
Ouvre une boîte de dialogue contenant un champ texte et éventuellement une case à cocher accompagnée de son libellé.
boolean prompt( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, inout wstring aValue, in wstring aCheckMsg, inout boolean aCheckState );
aParent
aDialogTitle
aText
aValue
null
peut être utilisée pour un champ vide). Lorsque la méthode retourne le résultat, si l'utilisateur a actionné le bouton OK, ce paramètre contient la nouvelle valeur. Sinon, la valeur n'est pas modifiée. Si vous appelez cette méthode en JavaScript, vous devez englober cet argument dans un objet dont l'attribut value
est une chaîne de caractère (ou utiliser un objet vide).aCheckMsg
aCheckState
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).true
si le bouton OK est actionné, false
si le bouton Annuler est actionné.
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var check = {value: false}; // case à cocher décochée par défaut var input = {value: \"Bob\"}; // valeur par défaut du champ texte à \"Bob\" var result = prompts.prompt(null, \"Title\", \"What is your name?\", input, null, check); // result vaut true si le bouton OK est actionné, false si c'est le bouton Cancel. // input.value content la valeur du champ texte si le bouton OKest actionné.
Ouvre une boîte dialogue contenant un champ texte, un champ de mot de passe et éventuellement une case à cocher accompagnée de son libellé.
boolean promptUsernameAndPassword( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, inout wstring aUsername, inout wstring aPassword, in wstring aCheckMsg, inout boolean aCheckState );
aParent
aDialogTitle
aText
aUsername
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).aPassword
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).aCheckMsg
aCheckState
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).true
si le bouton OK est actionné, false
si le bouton Annuler est actionné.
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var username = {value: \"user\"}; // nom d'utilisateur par défaut var password = {value: \"pass\"}; // mot de passe par défaut var check = {value: true}; // case à cocher cochée par défaut var result = prompts.promptUsernameAndPassword(null, \"Title\", \"Enter username and password:\",\nusername, password, \"Save\", check); // result vaut true si le bouton OK est actionné, false si c'est le bouton Cancel. // username.value, password.value, et check.value contiennent les nouvelles valeurs saisies si le bouton OK est actionné.
Ouvre une boîte de dialogue contenant un champ mot de passe et éventuellement une case à cocher accompagnée de son libellé.
boolean promptPassword( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, inout wstring aPassword, in wstring aCheckMsg, inout boolean aCheckState );
aParent
aDialogTitle
aText
aPassword
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).aCheckMsg
aCheckState
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).true
si le bouton OK est actionné, false
si le bouton Annuler est actionné.
Exemple
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"]
.getService(Components.interfaces.nsIPromptService);
var password = {value: \"pass\"}; // mot de passe par défaut
var check = {value: true}; // case à cocher cochée par défaut
var result = prompts.promptPassword(null, \"Title\", \"Enter password:\", password, null, check);
// result vaut true si le bouton OK est actionné, false si c'est le bouton Cancel.
// password.value contient la nouvelle valeur saisie si le bouton OK est actionné. }} La case à cocher n'est pas affichée.
Ouvre une boîte de dialogue contenant une liste de chaîne de caractères. L'utilisateur ne peut en sélectionner qu'une seule.
boolean select( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, in PRUint32 aCount, [array, size_is(aCount)] in wstring aSelectList, out long aOutSelection );
aParent
aDialogTitle
aText
aCount
aSelectList
.aSelectList
aOutSelection
value
est un booléen spécifiant l'état initial (ou utiliser un objet vide).true
si le bouton OK est actionné, false
si le bouton Annuler est actionné.
var prompts = Components.classes[\"@mozilla.org/embedcomp/prompt-service;1\"] .getService(Components.interfaces.nsIPromptService); var items = [\"Hello\", \"Welcome\", \"Howdy\", \"Hi\", \":)\"]; // liste d'éléments var selected = {}; var result = prompts.select(null, \"Title\", \"What greeting do you want?\", items.length, items, selected); // result vaut true si le bouton OK est actionné, false si c'est le bouton Cancel. // selected contient l'index de l'élément sélectionné. Accédez à cet élément avec selected items[selected.value].
nsIPrompt