275 lines
8.4 KiB
Markdown
Raw Normal View History

2016-05-16 17:19:54 -06:00
<!--
# 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)
這個外掛程式提供對一些本機對話方塊使用者介面元素,通過全球 `navigator.notification` 物件的訪問。
雖然該物件附加到全球範圍內 `導航器`,它不可用直到 `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`
## navigator.notification.alert
顯示一個自訂的警報或對話方塊框。 大多數的科爾多瓦實現使用本機的對話方塊為此功能,但某些平臺上使用瀏覽器的 `alert` 功能,這是通常不那麼可自訂。
navigator.notification.alert(message, alertCallback, [title], [buttonName])
* **message** 消息對話方塊。*String*
* **alertCallback** 當警報對話方塊的被解雇時要調用的回檔。*(函數)*
* **title** 標題對話方塊。*String*(可選,預設值為`Alert`)
* **buttonName** 按鈕名稱。*(字串)*(可選,預設值為`OK`)
### 示例
function alertDismissed() {
// do something
}
navigator.notification.alert(
'You are the winner!', // message
alertDismissed, // callback
'Game Over', // title
'Done' // buttonName
);
### 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 黑莓 10
* 火狐瀏覽器作業系統
* iOS
* Tizen
* Windows Phone 7 和 8
* Windows 8
* Windows
### Windows Phone 7 和 8 怪癖
* 有沒有內置瀏覽器警報,但你可以綁定一個,如下所示調用 `alert()` 在全球範圍內:
window.alert = navigator.notification.alert;
* 兩個 `alert``confirm` 的非阻塞的調用,其中的結果才是可用的非同步。
### 火狐瀏覽器作業系統怪癖:
本機阻止 `window.alert()` 和非阻塞的 `navigator.notification.alert()` 都可。
### 黑莓 10 怪癖
`navigator.notification.alert ('message'、 confirmCallback、 'title'、 'buttonLabels')` 回檔參數被傳遞的數位 1。
## navigator.notification.confirm
顯示一個可自訂的確認對話方塊。
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
* **message** 消息對話方塊。*String*
* **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
);
### 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 黑莓 10
* 火狐瀏覽器作業系統
* iOS
* Tizen
* Windows Phone 7 和 8
* Windows 8
* Windows
### Windows Phone 7 和 8 怪癖
* 有沒有內置的瀏覽器功能的 `window.confirm` ,但你可以將它綁定通過分配:
window.confirm = navigator.notification.confirm;
* 調用到 `alert``confirm` 的非阻塞,所以結果就是只可用以非同步方式。
### Windows 的怪癖
* 在 Windows8/8.1 它是不可能將超過三個按鈕添加到 MessageDialog 實例。
* 在 Windows Phone 8.1 它是不可能顯示有超過兩個按鈕的對話方塊。
### 火狐瀏覽器作業系統怪癖:
本機阻止 `window.confirm()` 和非阻塞的 `navigator.notification.confirm()` 都可。
## navigator.notification.prompt
顯示本機的對話方塊,是可定制的比瀏覽器的 `prompt` 功能。
navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
* **message** 消息對話方塊。*String*
* **promptCallback** 要用指數 1、 2 或 3 按下的按鈕或對話方塊中解雇無 (0) 按下一個按鈕時調用的回檔。*(函數)*
* **title** 標題對話方塊。*String*(可選,預設值為`Alert`)
* **buttonLabels** 指定按鈕標籤 (可選,預設值為 `["OK""Cancel"]` *(陣列)* 的字串陣列)
* **defaultText**: 預設文字方塊中輸入值 `字串` (可選,預設值: 空字串)
### 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
);
### 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 火狐瀏覽器作業系統
* iOS
* Windows Phone 7 和 8
* Windows 8
* Windows
### Android 的怪癖
* Android 支援最多的三個按鈕,並忽略任何更多。
* 在 Android 3.0 及更高版本,使用全息主題的設備以相反的順序顯示按鈕。
### Windows 的怪癖
* 在 Windows 上提示對話方塊是基於 html 的缺乏這種本機 api。
### 火狐瀏覽器作業系統怪癖:
本機阻止 `window.prompt()` 和非阻塞的 `navigator.notification.prompt()` 都可。
## navigator.notification.beep
該設備播放提示音的聲音。
navigator.notification.beep(times);
* **beep** 次數重複在嗶嗶聲。*(數)*
### 示例
// Beep twice!
navigator.notification.beep(2);
### 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 黑莓 10
* iOS
* Tizen
* Windows Phone 7 和 8
* Windows 8
### 亞馬遜火 OS 怪癖
* 亞馬遜火 OS 播放預設 **設置/顯示和聲音** 板下指定的 **通知聲音**
### Android 的怪癖
* 安卓系統播放預設 **通知鈴聲** **設置/聲音和顯示** 面板下指定。
### Windows Phone 7 和 8 怪癖
* 依賴于泛型蜂鳴音檔從科爾多瓦分佈。
### Tizen 怪癖
* Tizen 通過播放音訊檔通過媒體 API 實現的蜂鳴聲。
* 蜂鳴音檔必須很短,必須位於應用程式的根目錄中,一個 `聲音` 子目錄和必須將命名為 `beep.wav`.