AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

W3C 在 DOM 中引入“周边亮度”与“邻近”规范

  • 2013-01-18
  • 本文字数:1448 字

    阅读完需:约 5 分钟

传统上,Web 开发被限制在浏览器的范围内,仅能提供文档层面的操作及用户交互处理。W3C 通过引入一系列 API 来努力改变这一现状,使开发者能够与终端及周边外设进行交互。其中两类规范,“邻近事件”与“周边亮度事件”,已经进入草案最后征集意见的阶段。在接下来数月内会进入候选推荐阶段,届时一些实例也会逐渐出现。

通过JavaScript 和HTML5 的事件句柄( event handler ),“邻近事件”与“周边亮度事件”两项规范分别提供了从邻近传感器及光线传感器获取事件的方法。

在当前版本,“邻近事件”规范定义了两个接口:DeviceProximityEvent,向开发者提供关于设备与对象之间距离的信息;UserProximityEvent,向开发者提供有关周边物体侦测的、针对特定浏览器及平台的通知信息。DeviceProximityEvent 提供三项只读属性:

  • min – 最小感应距离,以厘米为单位
  • max – 最大感应距离,以厘米为单位
  • value –物体的邻近程度,以厘米为单位

该对象被传递到一个特殊的回调函数中,即 HTML5 规范所定义的事件句柄(event handler),作为该函数的参数。

复制代码
// Event Handler
deviceProximityHandler = function(event) {
document.writeln('min = ', event.min,
'max = ', event.max,
'value = ', event.value);
// e.g. => min = 0 max = 5 value = 5
document.write('
');
}
// Assigning the Event Handler to a Listener
window.addEventListener('deviceproximity', deviceProximityHandler);

UserProximityEvent 则相对不那么“让人兴奋”,它提供了布尔型属性,用于指示周边的邻近物体:

复制代码
userProximityHandler = function(event) {
document.write('near = ', event.near);
// e.g. => near = true/false
document.write('
');
}
window.addEventListener('userproximity', userProximityHandler);

在当前版本,“周边亮度事件”规范也定义了两个接口。 TheDeviceLightEvent 提供了一个值属性,以勒克斯(lux,照面单位)为单位表达周边亮度等级。LightLevelEvent 将周边亮度划分为“昏暗”(低于 50 勒克斯)、“正常”、“明亮”(高于 10000 勒克斯) 。

复制代码
deviceLightHandler = function(event) {
document.write('value = ', event.value); // e.g. => value = 10/100/1000
document.write('
');
}
window.addEventListener('devicelight', deviceLightHandler);

目前, DeviceProximityEvent UserProximityEvent ,以及 DeviceLightEvent 可在 Firefox 移动版的 Beta 版本(版本号 15 或更高)中使用。支持周边亮度感应的 Windows 版 Firefox Beta 版本也将很快发布。 请注意,草案规范的示例实现很可能在发展的过程中经历重大的改变。例如,Mozilla 的 DeviceLightEvent 实现所提供的对最大、最小亮度的访问,已从当前规范中剔除。

邻近事件”与“周边亮度事件”是当前已被细分出来的传感器API 规范中最成熟的分支,相关规范致力于定义对温度、压强、湿度、噪声等方面的读取。这些尝试覆盖的范围很大,开发者们可以预见,未来的DOM 将能够提供怎样的工具来与用户周边环境交互。开发者们被鼓励积极向这些API 提供反馈,特别是在最后征集意见的阶段。开发者可以通过订阅 Device APIs 工作组的公开邮件列表参与讨论。

查看英文原文 Ambient Light and Proximity Enter the DOM


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-18 05:191152
用户头像

发布了 256 篇内容, 共 78.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

注释在编程中的重要性:理解程序员的两难选择

小魏写代码

PCB打板省钱小妙招,强烈建议收藏!

华秋电子

PCB

SMT组装工艺流程的应用场景

华秋电子

SMT

第2期 | GPTSecurity周报

云起无垠

云上探索实验室-码上学堂领学员招募,正式启动!

科技热闻

Flink OLAP 在字节跳动的查询优化和落地实践

Apache Flink

大数据 flink 实时计算

CNCF即将推出平台成熟度模型丨亮点导览

SEAL安全

运维 成熟度模型 企业号10月PK榜

MySQL Command Line Client登录 及系统设置

小齐写代码

邯郸学院软件学院软件工程专业教师参加“火焰杯”软件测试颁奖

测试人

软件测试

小间距LED显示屏的技术优势有哪些?

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

手机端侧文字识别:挑战与解决方案

合合技术团队

人工智能 技术 手机 识别

LeetCode题解:剑指 Offer 03. 数组中重复的数字,原地置换,JavaScript,详细注释

Lee Chen

LeetCode

敏捷开发的核心原则和方法实践-深入理解Scrum

顿顿顿

Scrum 敏捷开发 敏捷研发工具 敏捷管理工具 scrum管理工具

Mac平台好用的文件对比工具 Beyond Compare 4

展初云

Mac软件 Beyond Compare 4 for Mac 文件对比工具

Markdown文本写作软件 Ulysses for Mac

展初云

markdown Mac软件 写作软件

MacOS系统设置一键切换开关 One Switch

展初云

Mac软件 一键开关

软件测试|火焰杯”软件测试高校就业选拔赛获奖名单揭晓,我院两名学子上榜,奖金2万元!

霍格沃兹测试开发学社

Elasticsearch向量检索的演进与变革:从基础到应用

汀丶人工智能

自然语言处理 Elastic Search 语义搜索系统 向量搜索

iPhone垃圾清理器 AnyMP4 iOS Cleaner最新中文版

胖墩儿不胖y

Mac软件 清理工具 清理器

基于 Apache Kyuubi 实现分布式 Flink SQL 网关

网易数帆

大数据 flink 开源 Apache Kyuubi

实用的数据集成方式

RestCloud

数据同步 ETL 实时数据

软件依赖管理-源码依赖、接口依赖、服务依赖

laofo

DevOps cicd 研发效能 持续交付

火山引擎DataTester:AB测试技术揭秘及应用分享

字节跳动数据平台

大数据 ab测试 对比实验 数字化增长 企业号10月PK榜

把您的 PCB 艺术品带来 KiCon 吧:SAO Hat 作品招募中

华秋电子

kicad

AI干货大FUN送!程序员节来AI Show“集市”行乐

飞桨PaddlePaddle

AI 程序员节

W3C在DOM中引入“周边亮度”与“邻近”规范_JavaScript_Faraz Yashar_InfoQ精选文章