Questo plugin consente di accedere ad alcuni elementi di interfaccia utente nativa dialogo tramite un oggetto globale navigator.notification
.
Anche se l'oggetto è associato con ambito globale del navigator
, non è disponibile fino a dopo l'evento deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.notification);
}
cordova plugin add cordova-plugin-dialogs
navigator.notification.alert
navigator.notification.confirm
navigator.notification.prompt
navigator.notification.beep
Mostra una finestra di avviso o la finestra di dialogo personalizzata. La maggior parte delle implementazioni di Cordova utilizzano una finestra di dialogo nativa per questa caratteristica, ma alcune piattaforme utilizzano la funzione di alert
del browser, che è in genere meno personalizzabile.
navigator.notification.alert(message, alertCallback, [title], [buttonName])
message: messaggio finestra di dialogo. (String)
alertCallback: Callback da richiamare quando viene chiusa la finestra di avviso. (Funzione)
title: titolo di dialogo. (String) (Opzionale, default è Alert
)
buttonName: nome del pulsante. (String) (Opzionale, default è OK
)
function alertDismissed() {
// do something
}
navigator.notification.alert(
'You are the winner!', // message
alertDismissed, // callback
'Game Over', // title
'Done' // buttonName
);
Non non c'è nessun avviso del browser integrato, ma è possibile associare uno come segue per chiamare alert()
in ambito globale:
window.alert = navigator.notification.alert;
Entrambi alert
e confirm
sono non di blocco chiamate, risultati di cui sono disponibili solo in modo asincrono.
Nativo di blocco window.alert()
blocco navigator.notification.alert()
sono disponibili sia.
parametro di callback navigator.notification.alert ('text' callback, 'title' 'text')
viene passato il numero 1.
Visualizza una finestra di dialogo conferma personalizzabile.
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
messaggio: messaggio finestra di dialogo. (String)
confirmCallback: Callback da richiamare con l'indice del pulsante premuto (1, 2 o 3) o quando la finestra di dialogo viene chiusa senza una pressione del pulsante (0). (Funzione)
titolo: titolo di dialogo. (String) (Opzionale, default èConfirm
)
buttonLabels: matrice di stringhe che specificano le etichette dei pulsanti. (Matrice) (Opzionale, default è [ OK,Cancel
])
Il confirmCallback
viene eseguito quando l'utente preme uno dei pulsanti nella finestra di dialogo conferma.
Il callback accetta l'argomento buttonIndex
(numero), che è l'indice del pulsante premuto. Si noti che l'indice utilizza l'indicizzazione base uno, quindi il valore è 1
, 2
, 3
, ecc.
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
);
Non non c'è nessuna funzione browser incorporato per window.confirm
, ma è possibile associare assegnando:
window.confirm = navigator.notification.confirm;
Chiama al alert
e confirm
sono non bloccante, quindi il risultato è disponibile solo in modo asincrono.
Su Windows8/8.1 non è possibile aggiungere più di tre pulsanti a MessageDialog istanza.
Su Windows Phone 8.1 non è possibile mostrare la finestra di dialogo con più di due pulsanti.
Nativo di blocco window.confirm()
blocco navigator.notification.confirm()
sono disponibili sia.
Visualizza una finestra di dialogo nativa che è più personalizzabile di funzione prompt
del browser.
navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
message: messaggio finestra di dialogo. (String)
promptCallback: Callback da richiamare con l'indice del pulsante premuto (1, 2 o 3) o quando la finestra di dialogo viene chiusa senza una pressione del pulsante (0). (Funzione)
title: dialogo titolo (String) (opzionale, default è Prompt
)
buttonLabels: matrice di stringhe specificando il pulsante etichette (Array) (opzionale, default è ["OK", "Cancel"]
)
defaultText: valore (String
) di input predefinito textbox (opzionale, Default: empty string)
Il promptCallback
viene eseguito quando l'utente preme uno dei pulsanti nella finestra di dialogo richiesta. results
oggetto passato al metodo di callback contiene le seguenti proprietà:
buttonIndex: l'indice del pulsante premuto. (Numero) Si noti che l'indice utilizza l'indicizzazione base uno, quindi il valore è 1
, 2
, 3
, ecc.
input1: il testo immesso nella finestra di dialogo richiesta. (String)
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
);
Android supporta un massimo di tre pulsanti e ignora di più di quello.
Su Android 3.0 e versioni successive, i pulsanti vengono visualizzati in ordine inverso per dispositivi che utilizzano il tema Holo.
Nativo di blocco window.prompt()
blocco navigator.notification.prompt()
sono disponibili sia.
Il dispositivo riproduce un bip sonoro.
navigator.notification.beep(times);
// Beep twice!
navigator.notification.beep(2);
Tizen implementa bip di riproduzione di un file audio tramite i media API.
Il file beep deve essere breve, deve trovarsi in una sottodirectory di sounds
della directory principale dell'applicazione e deve essere denominato beep.wav
.