2014-01-13 108 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​​切換狀態。