zhuxc 0f80faa4c0 init erp_h5 | 7 years ago | |
---|---|---|
.. | ||
README.md | 7 years ago | |
index.md | 7 years ago |
這個外掛程式提供對一些本機對話方塊使用者介面元素,通過全球 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
顯示一個自訂的警報或對話方塊框。 大多數的科爾多瓦實現使用本機的對話方塊為此功能,但某些平臺上使用瀏覽器的 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
);
有沒有內置瀏覽器警報,但你可以綁定一個,如下所示調用 alert()
在全球範圍內:
window.alert = navigator.notification.alert;
兩個 alert
和 confirm
的非阻塞的調用,其中的結果才是可用的非同步。
本機阻止 window.alert()
和非阻塞的 navigator.notification.alert()
都可。
navigator.notification.alert ('message'、 confirmCallback、 'title'、 'buttonLabels')
回檔參數被傳遞的數位 1。
顯示一個可自訂的確認對話方塊。
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
message: 消息對話方塊。(String)
confirmCallback: 要用索引 (1、 2 或 3) 按下的按鈕,或者在沒有按下按鈕 (0) 駁回了對話方塊中時調用的回檔。(函數)
title: 標題對話方塊。*(字串)*(可選,預設值為Confirm
)
buttonLabels: 指定按鈕標籤的字串陣列。*(陣列)*(可選,預設值為 [ OK,Cancel
])
當使用者按下確認對話方塊中的按鈕之一時,將執行 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
);
有沒有內置的瀏覽器功能的 window.confirm
,但你可以將它綁定通過分配:
window.confirm = navigator.notification.confirm;
調用到 alert
和 confirm
的非阻塞,所以結果就是只可用以非同步方式。
在 Windows8/8.1 它是不可能將超過三個按鈕添加到 MessageDialog 實例。
在 Windows Phone 8.1 它是不可能顯示有超過兩個按鈕的對話方塊。
本機阻止 window.confirm()
和非阻塞的 navigator.notification.confirm()
都可。
顯示本機的對話方塊,是可定制的比瀏覽器的 prompt
功能。
navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
message: 消息對話方塊。(String)
promptCallback: 要用指數 (1、 2 或 3) 按下的按鈕或對話方塊中解雇無 (0) 按下一個按鈕時調用的回檔。(函數)
title: 標題對話方塊。*(String)*(可選,預設值為Alert
)
buttonLabels: 指定按鈕標籤 (可選,預設值為 ["OK","Cancel"]
(陣列) 的字串陣列)
defaultText: 預設文字方塊中輸入值 (字串
) (可選,預設值: 空字串)
當使用者按下其中一個提示對話方塊中的按鈕時,將執行 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
);
Android 支援最多的三個按鈕,並忽略任何更多。
在 Android 3.0 及更高版本,使用全息主題的設備以相反的順序顯示按鈕。
本機阻止 window.prompt()
和非阻塞的 navigator.notification.prompt()
都可。
該設備播放提示音的聲音。
navigator.notification.beep(times);
// Beep twice!
navigator.notification.beep(2);
Tizen 通過播放音訊檔通過媒體 API 實現的蜂鳴聲。
蜂鳴音檔必須很短,必須位於應用程式的根目錄中,一個 聲音
子目錄和必須將命名為 beep.wav
.