cordova-plugin-dialogs
Этот плагин предоставляет доступ к некоторым встроенным диалоговым элементам пользовательского интерфейса через глобальный объект navigator.notification.
Хотя объект прикреплен к глобальному пространству имен navigator, он недоступен до события deviceready.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.notification);
}
Сообщайте о проблемах в следящем за ошибками Apache Cordova.
Установка
cordova plugin add cordova-plugin-dialogs
Методы
navigator.notification.alertnavigator.notification.confirmnavigator.notification.promptnavigator.notification.beep
navigator.notification.alert
Отображает пользовательский диалог или всплывающее окно. Большинство реализаций Cordova используют для этого встроенное диалоговое окно, но некоторые платформы используют функцию браузера alert, которая обычно менее настраиваема.
navigator.notification.alert(message, alertCallback, [title], [buttonName])
message: Сообщение диалога. (Строка)
alertCallback: Обратный вызов для вызова при закрытии диалогового окна. (Функция)
title: Заголовок диалога. (Строка) (Необязательно, по умолчанию
Alert)buttonName: Название кнопки. (Строка) (Необязательно, по умолчанию
OK)
Пример
function alertDismissed() {
// do something
}
navigator.notification.alert(
'You are the winner!', // message
alertDismissed, // callback
'Game Over', // title
'Done' // buttonName
);
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Браузер
- Firefox OS
- iOS
- Tizen
- Windows Phone 7 и 8
- Windows 8
- Windows
Особенности Windows Phone 7 и 8
-
Встроенной функции браузера alert нет, но вы можете связать её следующим образом, чтобы вызвать
alert()в глобальном пространстве имен:window.alert = navigator.notification.alert;
И
alert, иconfirm— это асинхронные вызовы, результаты которых доступны только асинхронно.
Особенности Firefox OS:
Доступны как блокирующие window.alert(), так и неблокирующие navigator.notification.alert() методы.
Особенности BlackBerry 10
Параметр обратного вызова navigator.notification.alert('text', callback, 'title', 'text') получает значение 1.
navigator.notification.confirm
Отображает настраиваемое диалоговое окно подтверждения.
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
message: Сообщение диалога. (Строка)
confirmCallback: Обратный вызов, который вызывается с индексом нажатой кнопки (1, 2 или 3) или при закрытии диалогового окна без нажатия кнопки (0). (Функция)
title: Заголовок диалога. (Строка) (Необязательно, по умолчанию
Confirm)buttonLabels: Массив строк, определяющих подписи кнопок. (Массив) (Необязательно, по умолчанию [
OK,Cancel])
confirmCallback
Функция обратного вызова confirmCallback выполняется, когда пользователь нажимает на одну из кнопок в диалоговом окне подтверждения.
Обратный вызов принимает аргумент buttonIndex (Число), который является индексом нажатой кнопки. Обратите внимание, что индекс использует нумерацию с единицы, поэтому значение равно 1, 2, 3, и так далее.
Пример
function onConfirm(buttonIndex) {
alert('You selected button ' + buttonIndex);
}
navigator.notification.confirm(
'You are the winner!', // message
onConfirm, // callback to invoke with index of button pressed
'Game Over', // title
['Restart','Exit'] // buttonLabels
);
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Браузер
- Firefox OS
- iOS
- Tizen
- Windows Phone 7 и 8
- Windows 8
- Windows
Особенности Windows Phone 7 и 8
-
Встроенной функции браузера для
window.confirmнет, но вы можете связать её, присвоив:window.confirm = navigator.notification.confirm;
Вызовы
alertиconfirmявляются асинхронными, поэтому результат доступен только асинхронно.
Особенности Windows
В Windows 8/8.1 нельзя добавить более трёх кнопок в диалоговое окно MessageDialog.
В Windows Phone 8.1 нельзя отобразить диалоговое окно с более чем двумя кнопками.
Особенности Firefox OS:
Доступны как блокирующие window.confirm(), так и неблокирующие navigator.notification.confirm() вызовы.
navigator.notification.prompt
Отображает встроенное диалоговое окно, более настраиваемое, чем функция браузера prompt.
navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
message: Сообщение диалога. (Строка)
promptCallback: Обратный вызов, который вызывается с индексом нажатой кнопки (1, 2 или 3) или при закрытии диалогового окна без нажатия кнопки (0). (Функция)
title: Заголовок диалога. (Строка) (Необязательно, по умолчанию
Prompt)buttonLabels: Массив строк, определяющих подписи кнопок. (Массив) (Необязательно, по умолчанию
["OK","Cancel"])defaultText: Значение по умолчанию для текстового поля (
String) (Необязательно, по умолчанию пустая строка)
promptCallback
Функция обратного вызова promptCallback выполняется, когда пользователь нажимает на одну из кнопок в диалоговом окне ввода. Объект results, передаваемый в обратный вызов, содержит следующие свойства:
buttonIndex: Индекс нажатой кнопки. (Число) Обратите внимание, что индекс использует нумерацию с единицы, поэтому значение равно
1,2,3, и так далее.input1: Текст, введённый в диалоговом окне ввода. (Строка)
Пример
function onPrompt(results) {
alert("You selected button number " + results.buttonIndex + " and entered " + results.input1);
}
navigator.notification.prompt(
'Please enter your name', // message
onPrompt, // callback to invoke
'Registration', // title
['Ok','Exit'], // buttonLabels
'Jane Doe' // defaultText
);
Поддерживаемые платформы
- Amazon Fire OS
- Android
- Браузер
- Firefox OS
- iOS
- Windows Phone 7 и 8
- Windows 8
- Windows
Особенности Android
Android поддерживает максимум три кнопки и игнорирует любые дополнительные.
На Android 3.0 и более поздних версиях кнопки отображаются в обратном порядке для устройств, использующих тему Holo.
Особенности Windows
- В Windows диалоговое окно ввода имеет HTML-основание из-за отсутствия соответствующего встроенного API.
Особенности Firefox OS:
Доступны как блокирующие window.prompt(), так и неблокирующие navigator.notification.prompt() вызовы.
navigator.notification.beep
Устройство воспроизводит звуковой сигнал.
navigator.notification.beep(times);
- times: Количество повторений звукового сигнала. (Число)
Пример
// Beep twice! navigator.notification.beep(2);
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Браузер
- iOS
- Tizen
- Windows Phone 7 и 8
- Windows 8
Особенности Amazon Fire OS
- Amazon Fire OS воспроизводит стандартный звуковой сигнал уведомления, указанный в настройках Настройки/Дисплей и звук.
Особенности Android
- Android воспроизводит стандартный звуковой сигнал уведомления, указанный в настройках Настройки/Звук и отображение.
Особенности Windows Phone 7 и 8
- Использует стандартный файл звукового сигнала из дистрибутива Cordova.
Особенности Tizen
Tizen реализует звуковой сигнал, воспроизводя аудиофайл через API мультимедиа.
Файл звукового сигнала должен быть коротким, располагаться в подкаталоге
soundsкорневого каталога приложения и называтьсяbeep.wav.
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/7.x/reference/cordova-plugin-dialogs/index.html