Recientemente, he estado intentando corregir este error relacionado con una requestFullscreen() que se deniega en un elemento <video> después de presionar la tecla Tabulador. Este error solo es local para Firefox, y sé que las restricciones de Firefox son mucho más estrictas cuando se trata de la API de pantalla completa. Ya se han hecho muchas preguntas sobre este problema y Firefox en SO, y creo que se han aplicado todas las posibles soluciones en vano.
Nuestra aplicación permite a los clientes usar un control remoto para grabar un video. Esta entrada en el control remoto también debería inducir una llamada requestFullscreen() , ya que se emite un evento de click en el botón de pantalla completa justo después de la entrada del control remoto. Debido a que Firefox percibe que esta entrada clave de "utilidad" de Tab enviada desde el control remoto es un peligro para la seguridad o "no activada por el usuario", rechaza esta solicitud. Los tiempos también muestran que la duración de las operaciones contenidas en el detector de eventos es insignificante. Pude concluir esto (y otras cosas) al intentar lo siguiente:
setTimeout(element.click(), 5000) para dividir las operaciones de grabación y pulsación de teclas de tabulación de la llamada requestFullscreen()requestFullscreen() comentando todas las demás operaciones/llamadas a funciones anterioresrequestFullscreen() (webkit, ms, moz) Lo único que parece funcionar es volver a conectar/activar manualmente la página web haciendo clic en cualquier elemento de la página, antes de intentar posteriormente otra solicitud de pantalla completa con una entrada de tecla Tabulador. Element.focus() cualquier elemento en la página web antes de llamar a requestFullscreen() , pero también fue en vano. Este informe de Bugzilla no confirmado describe los mismos problemas al pie de la letra.
Por lo tanto, mi pregunta es: ¿hay alguna forma de eludir esta política de seguridad para que Tab sea una entrada "legal" para requestFullscreen() ? Sé que podría estar luchando desesperadamente contra el diseño del navegador aquí, pero el cliente parece demasiado aficionado a este navegador. Espero poder recibir alguna información al respecto antes de buscar una solución fuera del navegador, o incluso desaconsejar el uso de Firefox.
Característica-Política: pantalla completa; Puedes probar