fullscreenchange事件未在Chrome中触发
我正在尝试监控浏览器何时进入全屏模式。
在我搜索全屏API指南的任何地方都会引用此博客。
这个SO答案也声称这是有效的。
全屏API:触发了哪些事件?
这是我的jQuery代码,但它没有触发事件。
$(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){ console.log("bang!"); });
看起来很简单,但它不会在Chrome中触发。 知道我做错了什么吗?
更新:
发现了一些新的东西。 仅当JavaScript调用requestFullScreen
API时,事件才有效,但如果用户按下F11则不会。
fullscreenchange
事件确实有效,但仅当requestFullScreen
触发全屏模式时才有效。
似乎存在安全限制,如果用户通过热键手动启用全屏模式,则会阻止JavaScript进行监控。
或者,您可以监视resize事件以查看窗口是否与桌面大小匹配,但这对我来说似乎是一个黑客攻击(即,这可以在双显示器上工作吗?)
我决定放弃监控全屏模式,只需使用API来切换状态。