gpt4 book ai didi

javascript - Chrome 更新破坏了我的 'devicemotion' 事件处理程序

转载 作者:行者123 更新时间:2023-11-29 22:07:22 26 4
gpt4 key购买 nike

在我的网站上,我有一些 Javascript 已经运行了一年多了(据我所知,我为它能在所有浏览器中运行而感到自豪)。但是最近它突然坏了,经过一些调试我发现了这一点。

我有一些代码可以创建一个 eventHandler,如下所示:

window.addEventListener(
'devicemotion',
function (e) { ... },
false
);

此处理程序用于处理设备加速,但出于某种原因,从最近的一些 Chrome 更新开始,此处理程序会在我的所有计算机(笔记本电脑、台式机等)上调用,而不仅仅是我的移动设备。据我所知,这些设备中都没有任何加速度计,并且过去从未在它们上执行过此处理程序。

谁能解释一下为什么这种行为会发生变化?在桌面计算机上调用此处理程序似乎非常违反直觉。我尝试在 Chrome 中搜索与此相关的更新,但我不太熟悉搜索 Chrome 或 Chromium 存储库/源代码。

最佳答案

根据 r196645谷歌想要修复对 Device Orientation API 的设备运动部分的支持。

W3C specification draft说:

Implementations that are unable to provide all three angles must set the values of the unknown angles to null. If any angles are provided, the absolute property must be set appropriately. If an implementation can never provide orientation information, the event should be fired with all properties set to null.

为了更正设备方向 API 的这一部分,他们打开了 r263415并告诉 chrome 在所有设备上触发 devicemotion 事件,并只传递 W3C specification draft 中指定的空值。 .

这就是这种行为发生变化的原因。

关于javascript - Chrome 更新破坏了我的 'devicemotion' 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20187766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com