`

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,都处于草稿阶段,目前都无浏览器支持,但其概念是好的,应该继续关注
2
1
分享到:
评论

相关推荐

    ethen:基于 websocket API 的基于 web 的接口

    【标题】: "基于 WebSocket API 的 Web 接口开发实践:Ethen for Node-Ethereum" 在现代Web应用中,实时通信是不可或缺的一部分,而...虽然当前项目仍处于早期阶段,但它揭示了WebSocket在区块链技术领域的广阔前景。

    sharpgroups_draft:用于起草、加尔各答草稿和拍卖风格草稿的模块

    这个模块目前还处于开发的早期阶段,开发者计划在3月中旬推出测试版本,这表明它可能仍存在一些未解决的bug或者功能不完善的地方,用户在使用时需要有一定的技术背景和调试能力。 加尔各答草稿(Kolkata Draft)是...

    neu-draft:neume.js 的草稿

    草稿表明这仍处于开发阶段,意味着它可能包含了初步的功能实现、测试代码、设计文档或者是开发者在创建过程中的一些想法和计划。 JavaScript是一种广泛使用的编程语言,尤其在网络应用中,它被用来实现客户端的交互...

    buaasoft-wechat:buaasoft-微信

    2.0 版本的数据库也经过整合与重新设计,目前处于草稿阶段,详细说明:关于如何开发一个 Module,请参考 。该指南介绍了 Module 编写的基本机制、BaseModule 类、Action Hook API 以及 Configuration API 的使用方法...

    scratchx-ifttt:从头开始使用IFTTT制作者频道的扩展

    描述部分提到这是一个“暂存器”或草稿扩展,这意味着它可能仍处于开发阶段,可能不完全稳定或功能完备。"即将来临"暗示完整的使用指南或功能可能会在后续更新中提供。"执照"信息提到使用的是麻省理工学院(MIT)...

    naiyou:Node.js 的博客 CMS

    在当前阶段,这个项目可能还处于初期阶段,主要功能可能还未完全实现。 ### 基于Node.js的博客系统 Node.js是一个开放源代码、跨平台的JavaScript运行环境,用于在服务器端执行JavaScript代码。其核心特性包括使用...

    core:Cassy内容管理即服务核心应用程序

    该项目仍处于初期阶段,但我们的目标是尽快发布基本的稳定版本。 对于第一个候选版本,我们的目标是: 登录/注册 列出文件 将文档分类到文件夹中 标记/搜索文件 在所见即所得编辑器中创建新文档 读取这些文件的API ...

Global site tag (gtag.js) - Google Analytics