Estoy trabajando con api de pantalla completa.
He agregado este polyfill:
let doc = document as any; if (!doc.requestFullscreen) { document.body.requestFullscreen = doc.body.mozRequestFullScreen || doc.body.webkitRequestFullscreen || doc.body.msRequestFullscreen; document.exitFullscreen = doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen; }
Tengo un botón de interfaz de usuario para habilitar el modo de pantalla completa y todo funciona bien (chrome IE 11, edge, opera, firefox)
También tengo controlador keydown:
if (args.keyCode === 70) { args.preventDefault(); if (!this.isInFullScreen) { document.body.requestFullscreen(); } else { document.exitFullscreen(); } this.InFullScreen = !this.isInFullScreen; }
Pero habilitar/deshabilitar el modo de pantalla completa presionando F no funciona en IE 11. La función msRequestFullscreen simplemente no hace nada. No hay errores de consola o smth. En otros navegadores funciona bien.
¿Cómo puedo solucionar este problema?
Puedo reproducir el problema. msRequestFullscreen
funciona en IE 11 pero simplemente no funciona en el evento keyCode
.
Como solución alternativa, sugiero que pueda usar ActiveXObject
para SendKeys
F11. Puede hacerlo a pantalla completa en IE 11. Puede agregar el siguiente código:
if ("ActiveXObject" in window) { var wscript = new ActiveXObject("Wscript.shell"); wscript.SendKeys("{F11}"); }