全屏 API:触发哪些事件?

IT技术 javascript jquery fullscreen jquery-events
2021-03-04 08:06:04

我需要知道当用户通过新的Fullscreen API进入全屏模式时会触发哪些(DOM)事件例如,我尝试了这个片段,但它没有触发:

jQuery('body').on('fullScreenChange', function() { alert("Fired!"); });
3个回答

我正在使用:

$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange', fn);

它适用于 Safari、Chrome 和 Firefox(尚未测试其他)。webkit 和 moz 之间的结果上下文似乎存在细微差别,元素高度和宽度不同。但是事件会发生,这是您的问题。

哦。并注意alert('fs')与全屏测试一起使用。它经常干扰屏幕变化。

时间太长了,我忘记了列表中有哪些事件,哪些没有。看来Kingpin2k已经编辑了这个答案中的事件列表,我希望更好!
2021-05-01 08:06:04
重新“开启”与“绑定”。我保留了两者,但在编辑中丢失了原始更正编辑器的昵称。对不起。
2021-05-02 08:06:04
在 iframe 中使用 Vimeo 时,我在 Safari 中不会触发 webkitfullscreenchange。它适用于铬。
2021-05-04 08:06:04
在旧版本的 Safari iOS 上,我不得不使用: $('video').on("webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange webkitbeginfullscreen webkitendfullscreen", foo)
2021-05-14 08:06:04

您的链接显示了答案...

成功启用全屏模式后,包含全屏元素的文档会收到一个fullscreenchange事件。当退出全屏模式时,文档再次收到一个 fullscreenchange事件。请注意,该fullscreenchange事件本身不提供有关文档是进入还是退出全屏模式的任何信息,但如果文档具有非 null fullScreenElement,则您知道您处于全屏模式。

FWIW,这仅在使用 Fullscreen API 进入/退出全屏时有效。例如,如果您从浏览器的工具栏进入全屏模式,则不会触发该事件。
2021-05-13 08:06:04