2012-03-08 16 views
25

Muszę wiedzieć, które zdarzenia (DOM) są uruchamiane, gdy użytkownik wchodzi w tryb pełnoekranowy za pomocą nowego Fullscreen API. Próbowałem na przykład ten fragment, ale to nie ogień:Interfejs API pełnego ekranu: Jakie zdarzenia są uruchamiane?

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

Która przeglądarka, której wersji, który system operacyjny? Zobacz https://developer.mozilla.org/en/DOM/Using_full-screen_mode#AutoCompatibilityTable Czy korzystasz z najnowszej wersji jQuery? – powtac

Odpowiedz

17

Twój link shows the answer ...

Gdy tryb pełnoekranowy zostanie pomyślnie uruchomiony, dokument zawierający element pełnoekranowy odbiera zdarzenie fullscreenchange. Po wyjściu z trybu pełnoekranowego dokument ponownie otrzymuje zdarzenie fullscreenchange. Zwróć uwagę, że zdarzenie fullscreenchange nie dostarcza żadnych informacji o tym, czy dokument wchodzi w tryb pełnoekranowy, ale jeśli dokument ma wartość zerową fullScreenElement, wiesz, że jesteś w trybie pełnoekranowym.

3
60

używałem:

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

Strzela do Safari, Chrome i Firefox (nie testowałem inne). Wydaje się, że istnieje subtelna różnica w wynikowym kontekście między webkitem a moz, wysokość i szerokość elementów są różne. Ale wydarzenia wybuchają, co jest twoim pytaniem.

Och. I uważaj na używanie alert('fs') z testowaniem pełnoekranowym. Często zakłóca zmianę ekranu.

+0

Fajne rozwiązanie. :-) – powtac

+0

re "on" vs "bind". Zachowałem oba, ale w edytorze straciłem nick oryginalnego edytora poprawek. Przepraszam. –

+1

webkitfullscreenchange nie uruchamia się w Safari podczas używania Vimeo w iframe. Działa w chrome. –

Powiązane problemy