window.alert
, window.confirm
, and other similar functions.
nsISupports
Last changed in Gecko 1.7.5 You can define access keys (or keyboard shortcuts) for buttons by including an ampersand ("&") in front of the character that should be the access key for that button. If you need to include an ampersand in the button's text, use two of them, like this: "&&".
out
and inout
parameters. In C++, out
parameters are pointers. For JavaScript, they are extra work, as you can't use an out
parameter directly. You need to wrap them in a temporary object, which can be either empty or have a value
property set to the out
parameter type. For more information on out parameters and JavaScript refer to Working with out parameters.Implemented by: @mozilla.org/embedcomp/prompt-service;1
. To get an instance, use:
var promptService = 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 |
The following flags are combined to form the aButtonFlags
parameter passed to confirmEx. All flags are defined as unsigned long
constants and can be accessed as Components.interfaces.nsIPromptService.flagname
from JavaScript and as nsIPromptService::flagname
from C++.
On Linux and Mac, button 2 is on the left of the prompt, while buttons 1 and 0 are on the right. On Windows and OS/2, the buttons are centred in the order 0, 2, 1.
Constant | Value | Description |
BUTTON_POS_0 |
1 |
This is usually the button used to confirm the prompt. It typically has the label "OK", "Yes", or "Save". |
BUTTON_POS_1 |
256 |
This is the button used to cancel the prompt. It typically has the label "Cancel" or "No". It is equivalent to pressing the Escape key (or Cmd+. on the Mac), or closing the window through the OS controls. |
BUTTON_POS_2 |
65536 |
This button can be used to give the user a choice of options, but still allowing the user to cancel the prompt. For instance, it might have the label "Don't Save". |
These flags are used along with Button position flags to set the labels of buttons in the prompt.
Constant | Value | Description |
BUTTON_TITLE_OK |
1 |
These flags are used to select standard labels from the user's current locale. |
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 |
This flag indicates that the label is passed as a separate string. Use this for labels that don't match one of the constants above. |
These flags are used to select which button is the default.
Constant | Value | Description |
BUTTON_POS_0_DEFAULT | 0 | |
BUTTON_POS_1_DEFAULT | 16777216 | |
BUTTON_POS_2_DEFAULT | 33554432 |
BUTTON_DELAY_ENABLE
causes the buttons to be initially disabled. They are enabled after a timeout expires. The implementation may interpret this loosely, as the intent is to ensure that the user does not click through a security dialog too quickly. Strictly speaking, the implementation could choose to ignore this flag. A delay can be useful not only to give the user more time to think before acting, but also as a countermeasure against malicious web sites that intentionally create a race condition whereby the user intends to click or type a key responding, for example, to the web site's prompt but the security dialog pops up unexpectedly and its button is unintentionally activated.
Constant | Value | Description |
BUTTON_DELAY_ENABLE | 67108864 |
Constant | Value | Description |
STD_OK_CANCEL_BUTTONS |
513 |
selects the standard set of OK/Cancel buttons. (BUTTON_TITLE_OK *BUTTON_POS_0) +(BUTTON_TITLE_CANCEL * BUTTON_POS_1) |
STD_YES_NO_BUTTONS |
1027 |
selects the standard set of Yes/No buttons. (BUTTON_TITLE_YES *BUTTON_POS_0) +(BUTTON_TITLE_NO * BUTTON_POS_1) |
alert
shows an alert dialog with an OK button. It works the same way as window.alert
, but accepts a title for the dialog. You should use this method instead of window.alert
in chrome code.
void alert( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText );
aParent
nsIWindowWatcher.activeWindow
.aDialogTitle
aText
See also the alert_example.
Shows an alert dialog with an OK button and a labeled checkbox.
void alertCheck( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, in wstring aCheckMsg, inout boolean aCheckState );
aParent
nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aCheckMsg
aCheckState
See also the alertCheck_example.
Shows a dialog with OK and cancel buttons.
boolean confirm( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText );
aParent
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
true
for OK, false
for CancelSee also the confirm_example.
Shows a dialog with OK and Cancel buttons and a labeled checkbox.
See also the confirm_example.
boolean confirmCheck( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, in wstring aCheckMsg, inout boolean aCheckState );
aParent
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aCheckMsg
aCheckState
true
for OK, false
for CancelPuts up a dialog with up to 3 buttons and an optional, labeled checkbox.
The Buttons are numbered 0 - 2. The implementation can decide what order the buttons appear in, and it may not be simply right-to-left (2, 1, 0) or left-to-right (0, 1, 2). See bug 624043 for more on this. Button 0 is the default button unless one of the Button Default Flags is specified (see Button default flags).
A button may use a predefined title, specified by one of the Button Title Flags values. Each title value can be multiplied by a position value to assign the title to a particular button. If BUTTON_TITLE_IS_STRING is used for a button, the string parameter for that button will be used. If the value for a button position is zero, the button will not be shown.
The following example creates a Dialog with an OK button and a custom button description.
aButtonFlags = (BUTTON_POS_0) * (BUTTON_TITLE_OK) +
(BUTTON_POS_1) * (BUTTON_TITLE_IS_STRING) +
BUTTON_POS_1_DEFAULT;
PRInt32 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
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aButtonFlags
aButtonFlags
is a combination of Button flags as described in Using the button flags below.aButton0Title
(BUTTON_TITLE_IS_STRING*
BUTTON_TITLE_POS_0)
flags are set in aButtonFlagsaButton1Title
(BUTTON_TITLE_IS_STRING*
BUTTON_TITLE_POS_1)
flags are set in aButtonFlagsaButton2Title
(BUTTON_TITLE_IS_STRING*
BUTTON_TITLE_POS_2)
flags are set in aButtonFlagsaCheckMsg
aCheckState
Shows a dialog with an edit field and an optional, labeled checkbox.
See also the prompt_example.
boolean prompt( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, inout wstring aValue, in wstring aCheckMsg, inout boolean aCheckState );
aParent
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aValue
aCheckMsg
aCheckState
true
for OK, false
for CancelShows a dialog with an edit field, a password field, and an optional, labeled checkbox.
See also the promptUsernameAndPassword_example.
boolean promptUsernameAndPassword( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, inout wstring aUsername, inout wstring aPassword, in wstring aCheckMsg, inout boolean aCheckState );
aParent
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aUsername
aPassword
aCheckMsg
aCheckState
true
for OK, false
for CancelShows a dialog with a password field and an optional, labeled checkbox.
See also the promptPassword_example.
boolean promptPassword( in nsIDOMWindow aParent, in wstring aDialogTitle, in wstring aText, inout wstring aPassword, in wstring aCheckMsg, inout boolean aCheckState );
aParent
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aPassword
aCheckMsg
aCheckState
true
for OK, false
for CancelShows a dialog box with a list box of strings from which the user may make a single selection.
See also the select_example.
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
null
the parent window will be nsIWindowWatcher.activeWindow
.aDialogTitle
aText
aCount
aSelectList
aOutSelection
true
for OK, false
for Cancel
alert displays a simple dialog.
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.");
alertCheck dispays a dialog with a checkbox.
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var check = {value: false}; // default the checkbox to false prompts.alertCheck(null, "Title of this Dialog", "Hello! You have now been alerted.", "And this is a checkbox", check); // check.value is now true if the box was checked and false if the box was cleared
confirm displays a dialog with OK/Cancel.
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 is now true if OK was clicked, and false if cancel was clicked
confirmCheck displays a dialog with OK/Cancel and a checkbox
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var check = {value: true}; // default the checkbox to true var result = prompts.confirmCheck(null, "Title of this Dialog", "Are you sure?", "Don't ask again", check); // check.value is now true if the box was checked AND OK was pressed, false if // the box was cleared AND OK was pressed, and is the default of true if Cancel was pressed.
confirmEx displays a dialog with up to 3 buttons and an optional checkbox.
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var check = {value: false}; // default the checkbox to false 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; // This value of flags will create 3 buttons. The first will be "Save", the // second will be the value of aButtonTitle1, and the third will be "Cancel" var button = prompts.confirmEx(null, "Title of this Dialog", "What do you want to do?", flags, "", "Button 1", "", null, check); // The checkbox will be hidden, and button will contain the index of the button pressed, // 0, 1, or 2.
prompt displays a dialog with an edit field.
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var check = {value: false}; // default the checkbox to false var input = {value: "Bob"}; // default the edit field to Bob var result = prompts.prompt(null, "Title", "What is your name?", input, null, check); // result is true if OK is pressed, false if Cancel. input.value holds the value of the edit field if "OK" was pressed.
promptUsernameAndPassword displays a dialog with an edit field, password field, and optionally a checkbox.
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var username = {value: "user"}; // default the username to user var password = {value: "pass"}; // default the password to pass var check = {value: true}; // default the checkbox to true var result = prompts.promptUsernameAndPassword(null, "Title", "Enter username and password:", username, password, "Save", check); // result is true if OK was pressed, false if cancel was pressed. username.value, // password.value, and check.value are set if OK was pressed.
promptPassword displays a dialog with a password field and an optional checkbox.
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var password = {value: "pass"}; // default the password to pass var check = {value: true}; // default the checkbox to true var result = prompts.promptPassword(null, "Title", "Enter password:", password, null, check); // result is true if OK was pressed, false if cancel was pressed. password.value is // set if OK was pressed. The checkbox is not displayed.
select displays a dialog with a listbox of choices.
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); var items = ["Hello", "Welcome", "Howdy", "Hi", ":)"]; // list items var selected = {}; var result = prompts.select(null, "Title", "What greeting do you want?", items.length, items, selected); // result is true if OK was pressed, false if cancel. selected is the index of the item array // that was selected. Get the item using items[selected.value].