This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
window.confirm() instructs the browser to display a dialog with an optional message, and to wait until the user either confirms or cancels the dialog.
Under some conditions — for example, when the user switches tabs — the browser may not actually display a dialog, or may not wait for the user to confirm or cancel the dialog.
confirm() confirm(message)
message OptionalA string you want to display in the confirmation dialog.
A boolean indicating whether OK (true) or Cancel (false) was selected. If a browser is ignoring in-page dialogs, then the returned value is always false.
The following example shows how to check the returned value of a confirmation dialog. When the user clicks the OK button, we call window.open(), and if the user clicks Cancel, we print some text to a <pre> element.
<button id="windowButton">Open new tab</button> <pre id="log"></pre>
const windowButton = document.querySelector("#windowButton");
const log = document.querySelector("#log");
windowButton.addEventListener("click", () => {
if (window.confirm("Do you want to open in new tab?")) {
window.open("https://developer.mozilla.org/en-US/docs/Web/API/Window/open");
} else {
log.innerText = "Glad you're staying!";
}
});
Dialog boxes are modal windows — they prevent the user from accessing the rest of the program's interface until the dialog box is closed. For this reason, you should not overuse any function that creates a dialog box or a modal window. Alternatively, a <dialog> element can be used for confirmations.
| Specification |
|---|
| HTML> # dom-confirm-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
confirm |
1Starting with Chrome 46, this method is blocked inside an<iframe> unless its sandbox attribute has the value allow-modals. |
12 | 1 | 3Starting with Opera 33, this method is blocked inside an<iframe> unless its sandbox attribute has the value allow-modals. |
1 | 18Starting with Chrome Android 46, this method is blocked inside an<iframe> unless its sandbox attribute has the value allow-modals. |
4 | 10.1Starting with Opera 33, this method is blocked inside an<iframe> unless its sandbox attribute has the value allow-modals. |
1 | 1.0Starting with Samsung Internet 5.0, this method is blocked inside an<iframe> unless its sandbox attribute has the value allow-modals. |
1Starting with Chrome 46, this method is blocked inside an<iframe> unless its sandbox attribute has the value allow-modals. |
1 |
<dialog> elementwindow.alert()window.prompt()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm