DeviceMotionEvent - 提供有关设备位置和方向的更改速度的信息

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

概要

DeviceMotionEvent 为 Web 开发人员提供有关设备位置和方向的更改速度的信息。

警告: 目前,Firefox 和 Chrome 不会以相同的方式处理坐标。使用它们时要小心。

构造函数

DeviceMotionEvent.DeviceMotionEvent()

创建一个新的 DeviceMotionEvent

属性

DeviceMotionEvent.acceleration 只读

提供了设备在 X,Y,Z 轴方向上加速度的对象。加速度的单位为 m/s2

DeviceMotionEvent.accelerationIncludingGravity 只读

提供了设备在 X,Y,Z 轴方向上带重力的加速度的对象。加速度的单位为 m/s2

DeviceMotionEvent.rotationRate 只读

一个对象,给出三个方向轴 alpha,beta 和 gamma 上设备方向的变化率。旋转速率以度/秒表示。

DeviceMotionEvent.interval 只读

一个数字,表示从设备获取数据的时间间隔(以毫秒为单位)。

实例

window.addEventListener('devicemotion', function(event) {
  console.log(event.acceleration.x + ' m/s2');
});

规范

规范 状态 备注
DeviceOrientation Event Specification 编者的草案 初始规范。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持11126 不支持155
DeviceMotionEvent() 构造函数59≤79 未知 不支持 未知 未知
acceleration 支持126 不支持 支持 未知
accelerationIncludingGravity 支持126 不支持 支持 未知
interval 支持126 不支持 支持 未知
rotationRate 支持126 不支持 支持 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持≤3718 未知6 未知144.2
DeviceMotionEvent() 构造函数5959 未知 未知 未知 未知 未知
acceleration 支持 支持 未知6 未知 未知4.2
accelerationIncludingGravity 支持 支持 未知6 未知 支持4.2
interval 支持 支持 未知6 未知 支持4.2
rotationRate 支持 支持 未知6 未知 支持4.2

相关链接