我需要检测浏览器是否支持window.DeviceOrientationEvent,以确定我是否可以在此设备上运行我的脚本。到目前为止我已经试过了
if (window.DeviceOrientationEvent) { ... }和
if (window.DeviceOrientationEvent === true) { ... } else { // device not supported }在Firefox和Android手机上进行了测试,虽然两者都表示支持此API,但该脚本仅在移动设备上有效,因为它实际上需要更改设备位置。
有没有更好的方法来检查它?我真的不想走移动设备列表的路线。
发布于 2020-01-02 10:21:40
我不认为有办法。当浏览器支持该事件时,即使运行该浏览器的设备永远不会发送该事件,它也会存在。现已在PC桌面上的Chrome中测试。
恐怕你唯一能做的就是开始监听事件,然后如果没有事件发生,你就可以推断设备不支持它们。此外,在手机上,为了节省电池,旋转检测通常是关闭的,所以即使是设备列表也不会真正起作用。
也许你可以推荐一个API的扩展。然而,我甚至不确定它是否有可能实现,因为确实有时手机可以关闭检测,即使它支持它。我不确定在Android中是否有什么东西可以让浏览器问这个问题,也许。
https://stackoverflow.com/questions/59557593
复制相似问题