fullscreenchange事件未在Chrome中触发

时间:2014-01-13 23:33:54

标签: javascript jquery google-chrome fullscreen

我正在尝试监控浏览器何时进入全屏模式。

此博客在我搜索全屏API的指南时随处可见。

http://robertnyman.com/2012/03/08/using-the-fullscreen-api-in-web-browsers/

这个SO答案也声称这有效。

Fullscreen API: Which events are fired?

这是我的jQuery代码,但它没有触发事件。

$(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){
        console.log("bang!");
});

看起来很简单,但它不会在Chrome中触发。知道我做错了吗?

更新

发现了一些新东西。这些事件仅在JavaScript调用requestFullScreen API时才有效,但如果用户按 F11 则不会。

1 个答案:

答案 0 :(得分:15)

fullscreenchange个事件确实有效,但前提是requestFullScreen触发了全屏模式。

如果用户通过热键手动启用全屏模式,则似乎存在一项安全限制,阻止JavaScript进行监控。

或者,您可以监视调整大小事件以查看窗口是否与桌面大小匹配,但这对我来说似乎是一个黑客攻击(即这可以在双显示器上工作吗?)

我决定放弃监控全屏模式,只需使用API​​来切换状态。