README.md 8.96 KB
Newer Older
李晓兵's avatar
李晓兵 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
<!--
# 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

[![Build Status](https://travis-ci.org/apache/cordova-plugin-dialogs.svg)](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`.