Generic Sensor API
与现有传感器接口相比,Generic Sensor API有许多优势:
- Generic Sensor API 是一个传感器框架,可以使用新的传感器类轻松扩展,并且每个类都将保留通用接口。为一种传感器类型编写的客户端代码可以重新用于另一种,只需很少的修改!
- 您可以配置传感器,例如,设置适合您应用需求的采样频率。
- 您可以检测平台上是否有对应传感器。
- 传感器读数具有高精度时间戳,可以更好地与应用程序中的其他活动同步。
- 传感器数据模型和坐标系统明确定义,允许浏览器供应商实现可互操作的解决方案。
- Generic Sensor 的基础接口没有绑定到 DOM(Navigator和Window对象),为将来在Service Workers中使用相同的 API 或在 Headless JS 运行时实现 Generic Sensor API(例如在嵌入式设备上)开辟了的机会。
- 与传统的传感器API相比,安全性和隐私方面是 Generic Sensor API 的首要任务,并且提供了更好的安全级别。目前已经集成了Permissions API。
- 自动的屏幕坐标同步目前可于 Accelerometer,Gyroscope,LinearAccelerationSensor,AbsoluteOrientationSensor,RelativeOrientationSensor和Magnetometer。
支持的传感器有:
运动传感器(Motion sensors):
- 加速度计(Accelerometer)
- 陀螺仪(Gyroscope)(X,Y和Z轴的角速度)
- 线性加速度传感器(LinearAccelerationSensor)
- 绝对方向传感器(AbsoluteOrientationSensor)
- 相对方向传感器(RelativeOrientationSensor)
环境传感器(Environmental sensors):
- 环境光传感器(AmbientLightSensor)
- 磁力计(Magnetometer)
传感器读数只能通过可见网页访问,即用户实际上正在与之交互时。而且,如果用户聚焦到跨域子frame传感器读数传送将会在父页面上被暂停,以防止在跨域子frame中的第三方软件窃取到用户信息。