Firefox中的“deviceorientation”?

时间:2014-03-20 06:20:29

标签: javascript html5 firefox

我在笔记本电脑上使用'deviceorientation'并且示例jsfiddle似乎在Chrome中正常工作但在Firefox中没有响应。我认为JS的第15行不能以某种方式工作......

window.addEventListener('deviceorientation', devOrientHandler, false);

第18行的MozOrientation版本似乎没有懈怠

window.addEventListener('MozOrientation', mozDevOrientHandler, false);

刚刚更新了Firefox。没有变化。我试图在台式机上进行测试,并且(不出所料)机器似乎没有必要的加速度计/传感器,因此小提琴不适用于该机器上的任何浏览器。我一直在搜索问题,阅读w3c规范,MDN support,我仍然无法得到它。

有人知道这是否是Firefox问题?我弄乱了设置还是什么?任何帮助深表感谢。关于为什么这个示例jsfiddle不能在Firefox上工作的任何想法? 注意:上面MDN链接中的示例“绿球”也不适用于FF。第一次问SO问题。

谢谢!

编辑:我应该澄清一下,jsfiddle是我能找到的最好的例子,而不是我的代码。我相信它来自HTML5rocks.com,但我找不到这个来源。

1 个答案:

答案 0 :(得分:1)

在撰写本文时,Firefox并未在任何桌面平台上公开DeviceOrientation个事件。您的事件处理程序不会在Firefox中触发,因为它们的桌面浏览器版本中未启用API。

另一方面,基于Chromium的浏览器已启用DeviceOrientation事件,但有一些重要的警告。由于Apple计算机中可用的陀螺仪+加速计硬件传感器的普遍可用性,基于铬的浏览器通常仅在Mac OS X上一致地返回DeviceOrientation事件。此外,基于Chromium的浏览器将event.alpha值报告为undefined,因为没有可用的罗盘或磁传感器来正确计算。

移动浏览器的情况要好得多,可以说是此API的主要目标。所有主要的移动浏览器(iOS上的Safari,Android上的Chrome / Opera / Firefox)都以其未加前缀的形式支持此事件,即window.addEventListener('deviceorientation', function(event) { /* ... */ }, false)