cordova dialog插件
来源:互联网 发布:淘宝开宠物用品店 编辑:程序博客网 时间:2024/06/01 08:55
dialog插件
cordova-plugin-dialogs
介绍
这个插件将调用平台的本地对话框的UI元素。
安装
cordova plugin add cordova-plugin-dialogs
使用方法
虽然对象连接到全局的navigator对象中,但是需要使用在deviceready事件之后。document.addEventListener("deviceready", onDeviceReady, false);function onDeviceReady() { console.log(navigator.notification);}
方法
navigator.notification.alertnavigator.notification.confirm
navigator.notification.prompt
navigator.notification.beep
navigator.notification.alert
显示自定义alert对话框
参数:
message:对话框的消息(字符串)alertCallback:alert对话框点击确认后执行回调。(函数)
title:标题(字符串)(可选,默认为Alert)
buttonName:按钮名字。(字符串)(可选,默认为OK)
支持的平台Supported Platforms
Amazon Fire OSAndroid
BlackBerry 10
Browser
Firefox OS
iOS
Tizen
Windows Phone 7 and 8
Windows 8
Windows
navigator.notification.confirm
显示一个可定制的确认对话框。参数:
message:对话框的消息(字符串)confirmCallback:回调调用指标按下按钮(1, 2,3)或当对话框被取消不按键(0)。(函数)
title:对话框标题(字符串)(可选,默认为Confirm)
buttonLabels:指定按钮标签字符串数组。(数组)(可选,默认为[OK,Cancel])
confirmCallback 确认回调函数
当用户按下某个按键的确认对话框,这个confirmcallback执行。回调拿到参数buttonindex(数字型),这是按下按钮索引。需要注意的是,索引号采用一个数字的索引,所以值1, 2, 3,等
支持的平台Supported Platforms
Amazon Fire OSAndroid
BlackBerry 10
Browser
Firefox OS
iOS
Tizen
Windows Phone 7 and 8
Windows 8
Windows
navigator.notification.prompt
显示一个对话框,在comfirm确认框的基础上还可以输入文本内容参数:
message:对话的消息(字符串)promptcallback:回调调用指标按下按钮(1, 2,3)或当对话框被取消不按键(0)。(函数)
title:对话框的标题(字符串)(可选,默认为提示)
buttonLabels:用字符串数组包含这些按钮的标签(数组)(可选,默认为["OK","Cancel"])
defaultText:textbox输入值(字符串)(可选,默认为空字符串)
promptCallback回调
这个promptCallback 当用户按下一个执行的prompt 提示对话框。这个结果对象通过以下属性的callbackcontains:buttonIndex:所按下的按钮的索引。(数)需要注意的是,指数使用一个索引,那么价值1,2,3等
input1:在提示对话框中输入的文本。(字符串)
支持的平台Supported Platforms
Amazon Fire OSAndroid
Browser
Firefox OS
iOS
Windows Phone 7 and 8
Windows 8
Windows
navigator.notification.beep
设备播放短信提示声音
参数:
times:重复响铃的次数(数)支持的平台Supported Platforms
Amazon Fire OSAndroid
BlackBerry 10
Browser
iOS
Tizen
Windows Phone 7 and 8
Windows 8
示例
示例一:alert
index.html:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> <title>Hello World</title> <style> li{ padding: 5px 0; } </style> </head> <body> <div class="app"> <h1>Dialog插件</h1> <ul id="ready"> <li><button id="alert">alert</button></li> <li><button id="DialogAlert">DialogAlert</button></li> </ul> </div> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> </body></html>
index.js:
var app = { initialize: function() { document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); }, onDeviceReady: function() { this.defaultAlert(); this.dialogAlert(); }, defaultAlert: function() { var dom = document.getElementById('alert'); dom.onclick = function(){ alert("这是一个alert弹窗!"); } }, dialogAlert: function() { var dom = document.getElementById('DialogAlert'); dom.onclick = function(){ navigator.notification.alert( '这是一个alert弹窗!', // 对话的消息 alertCallback, // 回调函数 '提示', // 标题 '确认' // 按钮文字 ); } function alertCallback(){ console.log("触发了吗"); } }};app.initialize();
运行:
模拟器测试:三星S5 android 6.0
点击“alert”按钮,运行是一个默认的alert弹窗
点击“DialogAlert”按钮,运行时dialog插件的alert弹窗
真机测试:小米X4 android 6.0
点击“alert”按钮,运行是一个默认的alert弹窗
点击“DialogAlert”按钮,运行时dialog插件的alert弹窗
真机测试:三星NOTE2 android 4.1测试
点击“alert”按钮,运行是一个默认的alert弹窗
点击“DialogAlert”按钮,运行时dialog插件的alert弹窗
小结:
使用默认的alert弹窗,和使用dialog插件的alert弹窗的区别:
(1)样式相似,只是颜色相反
(2)在不同的手机上,样式都会有不同的展现
(3)dialog插件的alert有回调函数
示例二:confirm
index.html:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> <title>Hello World</title> <style> li{ padding: 5px 0; } </style> </head> <body> <div class="app"> <h1>Dialog插件</h1> <ul id="ready"> <li><button id="confirm">confirm</button></li> </ul> </div> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> </body></html>
index.js:
var app = { initialize: function() { document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); }, onDeviceReady: function() { this.dialogComfirm(); }, dialogComfirm: function(){ var dom = document.getElementById('confirm'); dom.onclick = function(){ navigator.notification.confirm( '这是一个confirm弹窗!', // 对话的消息 onConfirm, // 回调函数 '提示', // 标题 ['确认','取消'] // 按钮文字 ); } function onConfirm(buttonIndex){ console.log("你选择的按钮是:"+ buttonIndex); } }};app.initialize();
运行:
模拟器测试:三星S5 android 6.0
点击“confirm”按钮,运行dialog插件的confirm弹窗
点击“确认”键,输出的是1。
这个数字可以作用判断条件,要是等于1的就是用户按了“确认”键,执行相关的代码逻辑。
真机测试:三星NOTE2 android 4.1测试
点击“confirm”按钮,运行dialog插件的confirm弹窗
小结:
(1)使用dialog插件的confirm确认弹窗,在不同的手机上,同样也是不同样式
示例三:prompt
index.html:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> <title>Hello World</title> <style> li{ padding: 5px 0; } </style> </head> <body> <div class="app"> <h1>Dialog插件</h1> <ul id="ready"> <li><button id="prompt">prompt</button></li> </ul> </div> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> </body></html>
index.js:
var app = { initialize: function() { document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); }, onDeviceReady: function() { this.dialogPrompt(); }, dialogPrompt: function(){ var dom = document.getElementById('prompt'); dom.onclick = function(){ navigator.notification.prompt( '这是一个confirm弹窗!', // 对话的消息 onPrompt, // 回调函数 '提示', // 标题 ['确认','取消'], // 按钮文字 '可输入内容' //默认文字 ); } function onPrompt(results){ console.log("你选择的按钮是:"+ results.buttonIndex +"\n输入的内容:" + results.input1); } }};app.initialize();
运行:
模拟器测试:三星S5 android 6.0
点击“prompt”按钮,运行dialog插件的prompt弹窗
弹窗内可以输入文字
点击“确认”键,输出以下内容:
真机测试:三星NOTE2 android 4.1测试
小结:
(1)使用dialog插件的prompt确认弹窗,在不同的手机上,同样也是不同样式
示例四:beep
index.html:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> <title>Hello World</title> <style> li{ padding: 5px 0; } </style> </head> <body> <div class="app"> <h1>Dialog插件</h1> <ul id="ready"> <li><button id="beep">beep</button></li> </ul> </div> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> </body></html>
index.js:
var app = { initialize: function() { document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); }, onDeviceReady: function() { this.dialogBeep(); }, dialogBeep: function(){ var dom = document.getElementById('beep'); dom.onclick = function(){ navigator.notification.beep(2); } }};app.initialize();
运行:
点击“beep”按钮后,手机会响2次手机设置的短信提示音。
- cordova toast dialog插件
- cordova dialog插件
- ionic添加cordova插件-Spinner Dialog
- Cordova插件
- cordova插件
- cordova插件
- Cordova-----3、Cordova使用插件
- Cordova-----4、Cordova自定义插件
- admob cordova插件 / cordova admob 插件 教程
- dialog插件
- Cordova插件开发
- AngularJS Cordova插件介绍
- AngularJS Cordova插件介绍
- Cordova插件开发
- Cordova文件传输插件fileTransfer
- cordova 插件代码
- cordova 自定义插件
- Cordova+ ios 插件开发
- 高级IO(文件的读写)——阻塞式IO的困境、非阻塞式IO
- k-means算法简介和基础实践
- Ambiguous mapping found. Cannot map 'xxxxController' bean method
- 测试人员掌握了linux命令还有shell的用处之一
- OpenCV4 --Android 环境配置【详细教程】
- cordova dialog插件
- JavaScript精华知识之继承部分
- 面试题中关于String的创建和赋值的自己的理解
- Java中禁止的包名(Prohibited package name)
- 第二节 常用标签的属性
- Struts2文件上传FileNotFoundException问题
- 【CJOJ1167】【洛谷1894】[USACO4.2]完美的牛栏
- Lua和C#代码交互(VS)
- Private Set Intersection(PSI)简介和资料分享