2012-03-08 54 views
25

我需要知道當用戶通過新的Fullscreen API進入全屏模式時觸發哪個(DOM)事件。我試過例如這個片段,但它不火:全屏API:哪些事件被觸發?

jQuery('body').on('fullScreenChange', function() { alert("Fired!"); }); 
+0

哪個瀏覽器,哪個版本,哪個OS?請參閱https://developer.mozilla.org/en/DOM/Using_full-screen_mode#AutoCompatibilityTable您是否使用最新的jQuery? – powtac 2012-03-08 16:54:44

回答

17

您的鏈接shows the answer ...

當成功地從事全屏模式,包括全屏幕元素的文檔收到fullscreenchange事件。退出全屏模式後,文檔將再次收到fullscreenchange事件。請注意,fullscreenchange事件本身不提供有關文檔是進入還是退出全屏模式的任何信息,但如果文檔的非空值爲fullScreenElement,則說明您處於全屏模式。

60

我所用:

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

它激發了Safari瀏覽器,Chrome瀏覽器和Firefox(沒有測試等)。 webkit和moz之間的結果上下文似乎存在細微的差異,因此元素的高度和寬度是不同的。但事件發生,這是你的問題。

哦。並且注意使用alert('fs')進行全屏測試。它經常干擾屏幕更換。

+0

很酷的解決方案。 :-) – powtac 2012-05-10 15:29:14

+0

re'on'vs'bind'。我保留了兩個,但是在編輯中失去了原來的糾正編輯的暱稱。抱歉。 – 2013-03-28 14:33:07

+1

在iframe中使用Vimeo時,webkitfullscreenchange不會在Safari中爲我啓動。它在鉻中工作。 – 2014-06-10 18:48:39

相關問題