275 lines
9.0 KiB
Markdown
275 lines
9.0 KiB
Markdown
|
<!--
|
||
|
# license: Licensed to the Apache Software Foundation (ASF) under one
|
||
|
# or more contributor license agreements. See the NOTICE file
|
||
|
# distributed with this work for additional information
|
||
|
# regarding copyright ownership. The ASF licenses this file
|
||
|
# to you under the Apache License, Version 2.0 (the
|
||
|
# "License"); you may not use this file except in compliance
|
||
|
# with the License. You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing,
|
||
|
# software distributed under the License is distributed on an
|
||
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||
|
# KIND, either express or implied. See the License for the
|
||
|
# specific language governing permissions and limitations
|
||
|
# under the License.
|
||
|
-->
|
||
|
|
||
|
# cordova-plugin-dialogs
|
||
|
|
||
|
[](https://travis-ci.org/apache/cordova-plugin-dialogs)
|
||
|
|
||
|
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);
|
||
|
}
|
||
|
|
||
|
|
||
|
## Installazione
|
||
|
|
||
|
cordova plugin add cordova-plugin-dialogs
|
||
|
|
||
|
|
||
|
## Metodi
|
||
|
|
||
|
* `navigator.notification.alert`
|
||
|
* `navigator.notification.confirm`
|
||
|
* `navigator.notification.prompt`
|
||
|
* `navigator.notification.beep`
|
||
|
|
||
|
## navigator.notification.alert
|
||
|
|
||
|
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`)
|
||
|
|
||
|
### Esempio
|
||
|
|
||
|
function alertDismissed() {
|
||
|
// do something
|
||
|
}
|
||
|
|
||
|
navigator.notification.alert(
|
||
|
'You are the winner!', // message
|
||
|
alertDismissed, // callback
|
||
|
'Game Over', // title
|
||
|
'Done' // buttonName
|
||
|
);
|
||
|
|
||
|
|
||
|
### Piattaforme supportate
|
||
|
|
||
|
* Amazon fuoco OS
|
||
|
* Android
|
||
|
* BlackBerry 10
|
||
|
* Firefox OS
|
||
|
* iOS
|
||
|
* Tizen
|
||
|
* Windows Phone 7 e 8
|
||
|
* Windows 8
|
||
|
* Windows
|
||
|
|
||
|
### Windows Phone 7 e 8 stranezze
|
||
|
|
||
|
* 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.
|
||
|
|
||
|
### Firefox OS Stranezze:
|
||
|
|
||
|
Nativo di blocco `window.alert()` blocco `navigator.notification.alert()` sono disponibili sia.
|
||
|
|
||
|
### BlackBerry 10 capricci
|
||
|
|
||
|
parametro di callback `navigator.notification.alert ('text' callback, 'title' 'text')` viene passato il numero 1.
|
||
|
|
||
|
## navigator.notification.confirm
|
||
|
|
||
|
Visualizza una finestra di dialogo conferma personalizzabile.
|
||
|
|
||
|
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
|
||
|
|
||
|
|
||
|
* **message**: 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` ])
|
||
|
|
||
|
### confirmCallback
|
||
|
|
||
|
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.
|
||
|
|
||
|
### Esempio
|
||
|
|
||
|
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
|
||
|
);
|
||
|
|
||
|
|
||
|
### Piattaforme supportate
|
||
|
|
||
|
* Amazon fuoco OS
|
||
|
* Android
|
||
|
* BlackBerry 10
|
||
|
* Firefox OS
|
||
|
* iOS
|
||
|
* Tizen
|
||
|
* Windows Phone 7 e 8
|
||
|
* Windows 8
|
||
|
* Windows
|
||
|
|
||
|
### Windows Phone 7 e 8 stranezze
|
||
|
|
||
|
* 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.
|
||
|
|
||
|
### Stranezze di Windows
|
||
|
|
||
|
* 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.
|
||
|
|
||
|
### Firefox OS Stranezze:
|
||
|
|
||
|
Nativo di blocco `window.confirm()` blocco `navigator.notification.confirm()` sono disponibili sia.
|
||
|
|
||
|
## navigator.notification.prompt
|
||
|
|
||
|
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)
|
||
|
|
||
|
### promptCallback
|
||
|
|
||
|
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)*
|
||
|
|
||
|
### Esempio
|
||
|
|
||
|
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
|
||
|
);
|
||
|
|
||
|
|
||
|
### Piattaforme supportate
|
||
|
|
||
|
* Amazon fuoco OS
|
||
|
* Android
|
||
|
* Firefox OS
|
||
|
* iOS
|
||
|
* Windows Phone 7 e 8
|
||
|
* Windows 8
|
||
|
* Windows
|
||
|
|
||
|
### Stranezze Android
|
||
|
|
||
|
* 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.
|
||
|
|
||
|
### Stranezze di Windows
|
||
|
|
||
|
* Su Windows finestra di dialogo richiesta è a causa di mancanza di tali api nativa basata su html.
|
||
|
|
||
|
### Firefox OS Stranezze:
|
||
|
|
||
|
Nativo di blocco `window.prompt()` blocco `navigator.notification.prompt()` sono disponibili sia.
|
||
|
|
||
|
## navigator.notification.beep
|
||
|
|
||
|
Il dispositivo riproduce un bip sonoro.
|
||
|
|
||
|
navigator.notification.beep(times);
|
||
|
|
||
|
|
||
|
* **times**: il numero di volte per ripetere il segnale acustico. *(Numero)*
|
||
|
|
||
|
### Esempio
|
||
|
|
||
|
// Beep twice!
|
||
|
navigator.notification.beep(2);
|
||
|
|
||
|
|
||
|
### Piattaforme supportate
|
||
|
|
||
|
* Amazon fuoco OS
|
||
|
* Android
|
||
|
* BlackBerry 10
|
||
|
* iOS
|
||
|
* Tizen
|
||
|
* Windows Phone 7 e 8
|
||
|
* Windows 8
|
||
|
|
||
|
### Amazon fuoco OS stranezze
|
||
|
|
||
|
* Amazon fuoco OS riproduce il **Suono di notifica** specificato sotto il pannello **Impostazioni/Display e il suono** predefinito.
|
||
|
|
||
|
### Stranezze Android
|
||
|
|
||
|
* Android giochi default **Notification ringtone** specificato sotto il pannello **impostazioni/audio e Display**.
|
||
|
|
||
|
### Windows Phone 7 e 8 stranezze
|
||
|
|
||
|
* Si basa su un file generico bip dalla distribuzione di Cordova.
|
||
|
|
||
|
### Tizen stranezze
|
||
|
|
||
|
* 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`.
|