Firefox dla Androida może odtwarzać wideo nawet po przełączeniu na inną kartę lub przejściu do innej aplikacji. Witryny mogą jednak niezależnie od tego wykryć, że nie są wyświetlane na aktywnej karcie i przerwać odtwarzanie, zamiast zezwolić na jego kontynuację w tle. Ma to miejsce na niektórych popularnych stronach z materiałami wideo. Odtwarzanie w tle działa poprawnie i bez przeszkód na innych stronach.
Dlaczego ma to miejsce?
Kiedy strona przenosi się do innej karty, moduł Page Visibility API wywołuje zdarzenie visibilitychange, odnoszące się do widoczności strony. Niektórzy twórcy stron mogą skonfigurować swoje witryny tak, by wykrywały one takie zdarzenia i przerywały odtwarzanie wideo. Strony mogą również przerywać odtwarzanie wideo po wyjściu z pełnoekranowego odtwarzania, wykrywając zdarzenie fullscreenchange, wywoływane przez moduł Fullscreen API.
Jak mogę to naprawić
Opisane powyżej zachowanie jest normalne i oczekiwane, o ile witryna jest skonfigurowana by reagować na zdarzenia visibilitychange lub fullscreenchange w taki sposób. Można jednak temu zapobiec poprzez powstrzymanie zdarzeń.
Przykładowo, rozszerzenie może nasłuchiwać i przechwytywać zdarzenia visibilitychange i fullscreenchange w taki sposób, by strona nie była w stanie zareagować na ukrycie karty z odtwarzanym wideo.
Rozszerzenie Video Background Play Fix oferuje działający przykład takiego rozwiązania.