检测浏览器是否支持window.DeviceOrientationEvent

时间:2020-01-02 01:57:28

标签: javascript

我需要检测浏览器是否支持window.DeviceOrientationEvent,以确定我是否可以在此设备上运行脚本。到目前为止,我已经尝试过

if (window.DeviceOrientationEvent) { ... }

if (window.DeviceOrientationEvent === true) { ... } else { // device not supported }

在Firefox和Android手机上进行了测试,尽管两者都支持此API,但该脚本仅在移动设备上有效,因为它实际上需要更改设备位置。

是否有更好的检查方法?我真的不想走移动设备列表的路线。

1 个答案:

答案 0 :(得分:0)

我认为没有办法。当浏览器支持该事件时,即使运行该浏览器的设备永远不会发送该事件,该事件也在那里。立即在PC桌面的Chrome中进行了测试。

恐怕唯一可以做的就是开始监听事件,然后如果没有事件发生,则可以推断出该设备不支持这些事件。同样,在手机上,旋转检测功能经常处于关闭状态以节省电池,因此即使设备列表也无法正常工作。

也许您可以建议扩展API。但是我不确定是否有可能实现,因为确实有时候电话即使支持也可以取消检测。不知道是否有任何东西Android,可能允许浏览器询问。

相关问题