2014-01-13 83 views
8

我试图监视浏览器何时进入全屏模式。fullscreenchange event not in Chrome

无处不在我会搜索这个博客作为全屏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中触发。任何想法我做错了什么?

UPDATE:

发现新的东西。只有当JavaScript调用requestFullScreen API时,事件才有效,但如果用户按下F11,则该事件不起作用。

回答

9

fullscreenchange事件可以正常工作,但前提是全屏模式由requestFullScreen触发。

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

或者,您可以监视调整大小事件,以判断该窗口中的桌面大小相匹配,但是这似乎是一个黑客对我来说(也就是将上双显示器这项工作?)

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