“ResizeObserver - 超出循环限制” | 从未使用过 API

Ser*_*ado 3 javascript google-chrome

我正在运行一个混合 PhoneGap 应用程序(几年来,运行 Cordova Android 6.1.2,最近运行的是 9.0);多年来,我们的 #1 javascript 错误一直显着

ResizeObserver loop limit exceeded
Run Code Online (Sandbox Code Playgroud)

但是,与在 Google 上发现的有关此错误的许多其他报告相比,我的问题的主要区别在于,在我的代码中的任何位置使用了 0 个 ResizeObserver 实例。搜索我的整个计算机,唯一出现在任何地方的 ResizeObserver 实例是一个随机的 Steam 文件。在运行时查看我的应用程序,设置window.ResizeObserver = undefined不会中断/执行任何操作,并且document.resizeObservers(根据 W3C 文档)不返回任何内容。

我看过这篇文章,它似乎是这个错误的规范文章:ResizeObserver - loop limit exceeded。“此错误意味着 ResizeObserver 无法在单个动画帧内提供所有观察结果。这是良性的(您的站点不会中断)”的答案。如果我真的在使用 ResizeObserver,那对我来说就足够了。由于我没有使用它,我担心出现的这个错误表明出现了更大的错误。

不幸的是,我们用户的 Chrome 版本/区域设置/时区/Android 版本/等/等没有可辨别的模式。

我对这个 API 进行了广泛的研究,但没有发现任何可以表明我的问题的东西;要么为什么会运行某种幻影 ResizeObserver 和/或为什么该错误会出现在不使用该 API 的应用程序中。

非常感谢这里的任何帮助(即使只是一个模糊的方向)。非常感谢!

Kai*_*ido 5

https://bugs.chromium.org/p/chromium/issues/detail?id=809574

甚至浏览器的 Shadow DOM 也可能正在使用此 API,并导致触发此错误。
您仍然可以放心地忽略它。

  • 就是这样!Chrome 会自动将观察者附加到视频标签。供人们将来参考:ResizeObserver 的出现似乎确实与 CPU/GPU 的负担有关。与 Kaiido 一致,没有实际问题,可以忽略,但如果你真的想从你的表现中挤出最后百分之一,这可能是一个值得关注的信号。 (2认同)