【问题标题】:YouTube iframe embed Violation: non-passive event listener to a scroll-blocking 'touchstart' eventYouTube iframe 嵌入违规:滚动阻止“touchstart”事件的非被动事件侦听器
【发布时间】:2019-11-08 20:33:23
【问题描述】:

我在我的网站上嵌入了一个 youtube iframe,它在我的控制台中抛出以下警告:

[违规] 向阻止滚动的“touchstart”事件添加了非被动事件侦听器。考虑将事件处理程序标记为“被动”以使页面更具响应性。见https://www.chromestatus.com/feature/5745543795965952base.js:4560

[Violation] 'setTimeout' 处理程序耗时 115 毫秒 www-embed-player.js:583

我确定是这个组件,因为当我将其注释掉时,警告就会停止。我想摆脱这些警告。如何做到这一点?

<iframe width="100%" height="300px" src="https://www.youtube.com/embed/wHcyxs6pGIk" frameborder="0" allow="accelerometer; autoplay; gyroscope; picture-in-picture" allowfullscreen></iframe>

【问题讨论】:

  • 能否添加嵌入视频的代码
  • 我遇到了完全相同的问题...
  • 你解决了吗?我收到此错误,当我执行嵌入式视频时,会出现一个 youtube 错误窗口...有什么想法吗?
  • 没有,还没解决。
  • 这方面有什么进展吗?我这里也有同样的问题

标签: javascript iframe youtube warnings passive-event-listeners


【解决方案1】:

我也遇到了同样的错误。这是我看到的唯一一篇解决这个问题的帖子。在链接中,警告会指示您查看:Github EventListenerOptions/explainer.md

在文件中它说:

还有一些更复杂的场景,处理程序只想在某些条件下抑制滚动,例如: ... 一个 UI 元素(如 YouTube 的音量滑块),它在水平滚轮事件上滑动,而不改变垂直滚轮事件的滚动行为。由于车轮事件没有等效的“触摸动作”,这种情况只能通过非被动车轮监听器实现

由于 YouTube 的音量滑块,这个错误似乎是不可避免的。

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 2018-03-14
    • 2018-02-18
    • 2018-12-01
    • 1970-01-01
    • 2020-07-25
    • 2017-06-25
    • 1970-01-01
    相关资源
    最近更新 更多