DeviceOrientation Event
DeviceOrientation Event 允许监测设备的物理朝向及物理加速度
物理加速度
Window
接口的 devicemotion
事件在设备的物理加速度(及旋转速率)变化时定期触发,返回一个 DeviceMotionEvent
事件
1 | window.addEventListener('devicemotion', (e) => { |
DeviceMotionEvent
接口的 acceleration
属性返回一个 DeviceMotionEventAcceleration
实例,表示设备的加速度(包含 x y z 三个参数)
DeviceMotionEvent
接口的 accelerationIncludingGravity
属性返回一个 DeviceMotionEventAcceleration
实例,表示受重力影响下设备的加速度(包含 x y z 三个参数)
DeviceMotionEvent
接口的 rotationRate
属性返回一个 DeviceMotionEventRotationRate
实例,表示设备的旋转角速度(包含 alpha beta gamma 三个参数)
DeviceMotionEvent
接口的 interval
属性返回一个 number
,表示设备更新数据的间隔
物理朝向
Window
接口的 deviceorientation
事件在设备的物理朝向变化时定期触发,返回一个 DeviceOrientationEvent
事件
Window
接口的 deviceorientationabsolute
事件在设备的绝对物理朝向变化时触发,返回一个 DeviceOrientationEvent
事件
1 | window.addEventListener('deviceorientation', (e) => { |
DeviceOrientationEvent
接口的 absolute
属性返回一个 boolean
,表明当前是否提供绝对方向数据(地球坐标系),或设备任意坐标系
DeviceOrientationEvent
接口的 alpha
属性返回一个范围在 0
至 360
之间的 number
,表明设备绕 z 轴旋转的角度
DeviceOrientationEvent
接口的 beta
属性返回一个范围在 -180
至 180
之间的 number
,表明设备绕 x 轴旋转的角度
DeviceOrientationEvent
接口的 gamma
属性返回一个范围在 -90
至 90
之间的 number
,表明设备绕 y 轴旋转的角度
权限策略
该 API 调用受到 accelerometer
gyroscope
magnetometer
等权限策略的控制,可以通过 Permissions-Policy
响应头指定,或通过 <iframe>
标签的 allow
属性指定
默认值均是 self
,即允许允许在顶层浏览上下文及其同源的嵌入浏览上下文中使用
deviceorientation
事件与 devicemotion
事件需要 accelerometer
gyroscope
权限策略,而 deviceorientationabsolute
事件需要 accelerometer
gyroscope
magnetometer
权限策略
权限 API
该 API 调用时需要用户授予 accelerometer
gyroscope
magnetometer
等权限,可以调用 Permission.query()
方法检查用户是否已授予了该权限
deviceorientation
事件与 devicemotion
事件需要授予 accelerometer
gyroscope
权限,而 deviceorientationabsolute
事件需要授予 accelerometer
gyroscope
magnetometer
权限
类型
1 | interface Window { |
链接
DeviceOrientation Event
https://skyclouds2001.github.io/2023/11/13/DeviceOrientation-Event/