Wyszukałem trochę absurdalnie wysokich czasów ładowania, które zgłosił javascript mojej aplikacji, i odkryłem, że Android (i iOS) wstrzymują niektóre JavaScript wykonanie, gdy okno jest w tle lub wyświetlacz jest wyłączony.Czy w JavaScript można wykryć, kiedy ekran jest wyłączony w przeglądarkach na urządzeniach z Androidem i iOS?
Na Androidzie stwierdziłem, że mogę użyć zdarzeń window.onfocus
i onblur
, aby wykryć, kiedy aplikacja przełączała się na tło (i wykonanie js wkrótce zostanie wstrzymane, przynajmniej dla nowych skryptów), ale nie mogę znaleźć sposób na wykrycie, kiedy ekran jest włączony lub wyłączony. czy to możliwe?
(On Safari, miałem podobne wyniki z wyjątkiem tego onfocus
i onblur
nie ogień niezawodnie.)
Czy wyłączanie ekranu i nie uruchamianie zdarzeń 'onblur' i' onfocus', biorąc pod uwagę, że Android zazwyczaj przechodzi na ekran blokady? Myślę, że wyłączenie go może uruchomić 'onblur', a przynajmniej obudzenie go uruchomi' onblur' (jeśli nie zostanie wyłączone), ponieważ Android wyświetli ekran blokady, a następnie po przejściu przez ekran blokady , 'onfocus' będzie strzelał od czasu przejścia z ekranu blokady do aktywnej aplikacji. Nie jestem ekspertem od Androida, ale pomyślałem, że wyrzucę tę myśl, jeśli nie sprawdziłeś. – ajp15243
Cóż, mój nie testowałem, ale teraz, kiedy o tym wspomniałeś, wyłączyłem mój ekran blokady.Po prostu wracam do ostatniej aplikacji, którą otworzyłem, gdy tylko kliknę przycisk zasilania. Włączenie ekranu blokady spowodowało wyzwolenie zdarzeń związanych z ustawianiem ostrości i rozmyciem. Dzięki! –