3个处于草稿阶段的Javascript API介绍

原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email


本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.

1) Web Alarm API
这个是最新的W3C的草稿阶段的API,参考http://www.w3.org/TR/web-alarms/
,主要是用来为带提醒功能的移动设备服务的,比如设置日程提醒等,这个API
通过window.navigator的alarm属性进行设置,其中包括3个方法

A getAll();获得所有已经添加到设备的alarm事件的对象;
B add();以Date对象的方式增加到提醒中去,并且返回一个AlarmRequest对象;
c remove();根据id移除已经增加的提醒对象

下面是相关的例子,但可惜不能在目前任何浏览器上获得支持:

var alarmId;
var request = navigator.alarms.add(
new Date("June 29, 2012 07:30:00"),
"respectTimezone",
);

request.onsuccess = function (e) {
alarmId = e.target.result;
};

request.onerror = function (e) {
alert(e.target.error.name);
};



如果是移除提醒,则:


var request = navigator.alarms.remove(alarmId);

request.onsuccess = function (e) {
alert("alarm removed");
};

request.onerror = function (e) {
alert(e.target.error.name);
};




2 用于多设备同步演示的API
简单来说,这个是民间第三方组织提出的API,用来做两个不同设备之间的信息
沟通传递,比如电脑外接投影,外接电视等,提出的第三方是:
http://webscreens.github.io/presentation-api
,注意这个不是W3C的标准。
这个通过window.navigator对象的presentation方法进行设置,其中包括:
requestSession()方法,和两个事件,分别是present和availablechange
, requestSession()方法用来请求向第二连接设备发出请求,
当 requestSession()方法中的url加载完后,在第二连接设备的页面获得present事件,并
第二连接设备页面中的页面消失,切换回第一连接设备后,则激发这个事件;
下面是一个大概的例子,

<button disabled>Show</button>

<script>
var presentation = navigator.presentation,
showButton = document.querySelector('button');

presentation.onavailablechange = function(e) {
showButton.disabled = !e.available;
showButton.onclick = show;
};

function show() {
var session = presentation.requestSession('http://example.org/');

session.onstatechange = function() {
switch (session.state) {
case 'connected':
session.postMessage(/*...*/);
session.onmessage = function() { /*...*/ };
break;
case 'disconnected':
console.log('Disconnected.');
break;
}
};
}
</script>




3 StandBy API 用于持续保持屏幕工作状态
这个API比较得意,就是用来一直不让屏幕处于休眠状态,比如开车的时候,
要保持导航仪不要进入休眠,屏保状态,依然是第三方的API,注意不是W3C的,
地址在http://boiler23.github.io/screen-wake/
这个API设置的是window.navigator 对象的wakeLock 属性,提供两个方法:
request:持续保持设备屏幕处于唤醒状态;
release:取消限制,可以让屏幕不处于持续唤醒状态:
这个API 口气有点大,接受screen和system的两个参数,前者是让screen能持续唤醒,后者是让CPU!

navigator.wakeLock.request("display").then(
function successFunction() {
// do something
},
function errorFunction() {
// do something else
}
);


如果要关掉屏幕,上面的例子就是
navigator.wakeLock.release("display");

总结:三个值得关注的API,都处于草稿阶段,目前都无浏览器支持,但其概念是好的,应该继续关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值