javascript - Firefox 中的“设备方向”?

标签 javascript html firefox

我正在我的笔记本电脑上使用“deviceorientation”和一个示例 jsfiddle似乎在 Chrome 中工作正常,但在 Firefox 中没有响应。我认为 JS 第 15 行无法正常工作...

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

第 18 行的 MozOrientation 版本似乎并没有弥补这一不足

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

刚刚更新了 Firefox。并且没有变化。我尝试在桌面上进行测试,(毫不奇怪)机器似乎没有必要的加速计/传感器,因此 fiddle 无法在该机器上的任何浏览器上工作。我一直在搜索问题,阅读 w3c 规范,MDN support我还是没明白。

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

谢谢!

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

最佳答案

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

另一方面,基于 Chromium 的浏览器启用了 DeviceOrientation 事件,但有一些重要的注意事项。由于 Apple 计算机中普遍提供陀螺仪 + 加速计硬件传感器,基于 Chromium 的浏览器通常仅在 Mac OS X 上一致地返回 DeviceOrientation 事件。此外,基于 Chromium 的浏览器将 event.alpha 值报告为 未定义,因为没有指南针或磁传感器可用于正确计算该值。

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

关于javascript - Firefox 中的“设备方向”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22524954/

相关文章:

javascript - AJAX 数据被发送到错误的 Django View

c# - 尝试在 HtmlAgilityPack 中按类获取链接时出现空引用异常

html - 显示一行的两个 block

c# - 家庭 Controller 中每个 mvc actionresult 的代码相同

html - Firefox 中边框底部的 css 问题

javascript - AngularJS ng-repeat 删除对象中重复键的问题

javascript - 如何再次使用强制 Jquery mouseenter fadein?

javascript - 涉及display属性时其他属性的硬过渡

node.js - Selenium 网络驱动程序 : HTML renders differently for Firefox vs. PhantomJS

css - 外部 CSS 在 Safari 中运行良好,但在 Firefox、Google Chrome 或 Opera 中运行不佳