【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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:19852
用户头像

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

关注

评论

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

2020最后一次Java面试,快手三面一轮游,如今已拿意向书

爱好编程进阶

Java 程序员 后端开发

全球最大的半导体IP产业链,你了解多少?

Finovy Cloud

gpu GPU服务器 显卡、gpu

CPU战争40年,终于把Intel打趴下了

爱好编程进阶

Java 程序员 后端开发

Day461

爱好编程进阶

程序员 后端开发

Dubbo

爱好编程进阶

程序员 后端开发

FPGA(3)--VHDL及原理图--4位全加器

爱好编程进阶

程序员 后端开发

Cloud-借助消息队列解决分布式事务

爱好编程进阶

Java 程序员

Day269

爱好编程进阶

Java 程序员 后端开发

python好用的函数或库

AIWeker

Python 人工智能 5月月更

09-SSO微服务工程中用户行为日志的记录(2107~2108~2109

爱好编程进阶

Java 程序员 后端开发

2022年Java面试题最新整理,附白话答案

爱好编程进阶

Java 程序员 后端开发

6年,终拿腾讯 offer!

爱好编程进阶

程序员 后端开发

CentOS安装MySQL详解

爱好编程进阶

Java 程序员 后端开发

ElasticSearch三节点集群搭建笔记(中心化版本)

爱好编程进阶

程序员 后端开发

GitHub上标星120K,Alibaba官网发布了这份Java全栈知识体系手册

爱好编程进阶

Java 程序员 后端开发

服务器运维省钱省事省心安全就用行云管家!

行云管家

服务器 行云管家 服务器运维

43岁老程序员的编程之路,我是如何做到退休的?龙叔真的退休了吗

爱好编程进阶

Java 程序员 后端开发

CCF201712-2 游戏

爱好编程进阶

Java 程序员 后端开发

Dubbo中的统一契约是如何实现的?

爱好编程进阶

Java 程序员 后端开发

final的两个重排序规则

爱好编程进阶

程序员 后端开发

Fluid 0

爱好编程进阶

Java 程序员 后端开发

5分钟速览证券行业财富管理转型新趋势

易观分析

证券市场

CentOS7 部署 LAMP 平台与应用

爱好编程进阶

Java 程序员 后端开发

Github首次开放,一天遭狂转 50w 次,大厂内部不外传的 100 万字 Java 面试手册

爱好编程进阶

Java 程序员 后端开发

Bootstrap表格

爱好编程进阶

Java 程序员

2021字节、阿里大厂高频面试真题1000道(附答案解析

爱好编程进阶

Java 程序员 后端开发

5年从初学者变成行业大拿,月薪暴涨10倍,我的经验值得借鉴

爱好编程进阶

程序员 后端开发

Backbone 之 DetNet:为检测而生(Pytorch实现及代码解析

爱好编程进阶

Java 程序员 后端开发

B站【狂神说Java笔记】-java基础语法

爱好编程进阶

Java 程序员 后端开发

Eclipse+Java+Swing实现仓库管理系统

爱好编程进阶

Java 程序员 后端开发

Eclipse+Java+Swing实现企业人事管理系统

爱好编程进阶

Java 程序员 后端开发

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