70 lines
4.9 KiB
Markdown
70 lines
4.9 KiB
Markdown
---
|
||
title: Popup Boxes
|
||
localeTitle: Всплывающие окна
|
||
---
|
||
## Всплывающие окна
|
||
|
||
Всплывающие окна (или диалоговые окна) - это модальные окна, используемые для уведомления или предупреждения пользователя или для ввода данных от пользователя.
|
||
|
||
Всплывающие окна запрещают пользователю получать доступ к другим аспектам программы до тех пор, пока всплывающее окно не будет закрыто, поэтому их не следует злоупотреблять.
|
||
|
||
Существует три разных типа всплывающих методов, используемых в JavaScript: [window.alert ()](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert) , [window.confirm ()](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm) и [window.prompt ()](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) .
|
||
|
||
### бдительный
|
||
|
||
Метод [предупреждения](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert) отображает сообщения, которые не требуют от пользователя ввода ответа. После вызова этой функции появится диалоговое окно предупреждения с указанным (необязательным) сообщением. Пользователи должны будут подтвердить сообщение до того, как предупреждение исчезнет.
|
||
|
||
### Пример:
|
||
|
||
`window.alert("Welcome to our website");`
|
||
|
||
![Пример предупреждения MDN](https://mdn.mozillademos.org/files/130/AlertHelloWorld.png)
|
||
|
||
### подтвердить
|
||
|
||
Метод [подтверждения](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm) похож на `window.alert()` , но также отображает кнопку отмены во всплывающем окне. Кнопки возвращают логические значения: true для OK и false для Cancel.
|
||
|
||
### Пример:
|
||
|
||
```javascript
|
||
var result = window.confirm('Are you sure?');
|
||
if (result === true) {
|
||
window.alert('Okay, if you're sure.');
|
||
} else {
|
||
window.alert('You seem uncertain.');
|
||
}
|
||
```
|
||
|
||
![Пример подтверждения MDN](https://mdn.mozillademos.org/files/7163/firefoxcomfirmdialog_zpsf00ec381.png)
|
||
|
||
### Незамедлительный
|
||
|
||
Метод [подсказки](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) обычно используется для получения текстового ввода от пользователя. Эта функция может принимать два аргумента, оба из которых являются необязательными: сообщение для отображения пользователю и значение по умолчанию для отображения в текстовом поле.
|
||
|
||
### Пример:
|
||
|
||
`var age = prompt('How old are you?', '100');`
|
||
|
||
![Пример подсказки MDN](https://mdn.mozillademos.org/files/11303/prompt.png)
|
||
|
||
### Другие варианты дизайна:
|
||
|
||
Если вы недовольны всплывающими надписями JavaScript по умолчанию, вы можете заменить их в различных библиотеках пользовательского интерфейса. Например, SweetAlert обеспечивает приятную замену стандартным JavaScript-модалам. Вы можете включить его в свой HTML через CDN (сеть доставки контента) и начать использовать.
|
||
|
||
```HTML
|
||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
||
```
|
||
|
||
Синтаксис таков: `swal(title, subtitle, messageType)`
|
||
|
||
```javascript
|
||
swal("Oops!", "Something went wrong on the page!", "error");
|
||
```
|
||
|
||
В приведенном выше коде будет отображаться следующее всплывающее окно: ![Пример SweetAlert](https://ludu-assets.s3.amazonaws.com/lesson-content/rWqOoQXgDrSVSMrAKiZ9) SweetAlert ни в коем случае не является единственным подходом для стандартных модалов, но он чист и прост в реализации.
|
||
|
||
#### Дополнительная информация:
|
||
|
||
* [MDN window.alert ()](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert)
|
||
* [MDN window.confirm ()](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm)
|
||
* [MDN window.prompt ()](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) |