2011-09-21 15 views
6

Quiero hacer que mi navegador tenga pantalla completa. Igual que cuando hacemos un evento clave F11. Encontré algunos ejemplos comoCómo hacer que el navegador muestre la pantalla completa mediante el evento clave F11 a través de JavaScript

function maxwin() { 
    var wscript = new ActiveXObject("WScript.Shell"); 
    if (wscript!=null) { 
     wscript.SendKeys("{F11}"); 
    } 
} 

Lo que no funciona en mozilla o cualquier otro navegador más reciente. Por favor, avíseme si hay alguna forma de solucionar este problema.

Gracias. (De antemano)

Respuesta

6

No es posible sin el código nativo o una extensión del navegador. ActiveXObject solo existe en el navegador IE.

+0

Me pregunto cuánto ha cambiado desde el 21 de septiembre de 2011? Facebook ahora (9 de abril de 2012) tiene una funcionalidad para hacer sus popovers a pantalla completa (al menos ciertamente en Chrome), y todavía estoy usando el navegador (y no el flash) ya que puedo "Inspeccionar el elemento" y hacer otras cosas de Chrome .. – JayC

+0

Muy cierto: como @Treby señala que ahora están surgiendo API de pantalla completa, por lo que es posible que ya no sea válida. – Femi

+0

Tenga en cuenta que la API de pantalla completa y F11 son [https://bugzilla.mozilla.org/show_bug.cgi?id=794468](no es lo mismo). – Tgr

-1

Hoy en día es posible (por lo menos los navegadores WebKit en Safari 5, cromo 16) con el

webkitEnterFullscreen() 

Firefox 10 también funciona. check this link

ni idea de lo que es decir que está haciendo en este tema

9

uso de este código en lugar

var el = document.documentElement 
, rfs = // for newer Webkit and Firefox 
     el.requestFullScreen 
    || el.webkitRequestFullScreen 
    || el.mozRequestFullScreen 
    || el.msRequestFullScreen 
; 
if(typeof rfs!="undefined" && rfs){ 
    rfs.call(el); 
} else if(typeof window.ActiveXObject!="undefined"){ 
    // for Internet Explorer 
    var wscript = new ActiveXObject("WScript.Shell"); 
    if (wscript!=null) { 
    wscript.SendKeys("{F11}"); 
    } 
} 

Fuente: How to make in Javascript full screen windows (stretching all over the screen)

Obras y probado en Chrome, FF10 anteriormente, es decir 8, Safari 5 ..

5

Esto ahora es posible en las últimas versiones de Chrome, Firefox e IE (11).

Siguiendo los indicadores de Zuul en this thread, edité su código para incluir IE11 y la opción de pantalla completa para cualquier elemento de elección en su página.

JS:

function toggleFullScreen(elem) { 
    // ## The below if statement seems to work better ## if ((document.fullScreenElement && document.fullScreenElement !== null) || (document.msfullscreenElement && document.msfullscreenElement !== null) || (!document.mozFullScreen && !document.webkitIsFullScreen)) { 
    if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) { 
     if (elem.requestFullScreen) { 
      elem.requestFullScreen(); 
     } else if (elem.mozRequestFullScreen) { 
      elem.mozRequestFullScreen(); 
     } else if (elem.webkitRequestFullScreen) { 
      elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); 
     } else if (elem.msRequestFullscreen) { 
      elem.msRequestFullscreen(); 
     } 
    } else { 
     if (document.cancelFullScreen) { 
      document.cancelFullScreen(); 
     } else if (document.mozCancelFullScreen) { 
      document.mozCancelFullScreen(); 
     } else if (document.webkitCancelFullScreen) { 
      document.webkitCancelFullScreen(); 
     } else if (document.msExitFullscreen) { 
      document.msExitFullscreen(); 
     } 
    } 
} 

HTML:

<input type="button" value="click to toggle fullscreen" onclick="toggleFullScreen(document.body)"> 

Donde "document.body" es cualquier elemento que así lo deseen.

También tenga en cuenta que intentar ejecutar estos comandos de pantalla completa desde la consola no parece funcionar en Chrome o IE. Sin embargo, tuve éxito con Firebug en Firefox.

Otra cosa a tener en cuenta es que estos comandos "pantalla completa" no tienen una barra de desplazamiento vertical, es necesario especificar esto dentro de la CSS: "! Important"

*:fullscreen 
*:-ms-fullscreen, 
*:-webkit-full-screen, 
*:-moz-full-screen { 
    overflow: auto !important; 
} 

El parece ser necesaria para IE para representarlo

+0

He intentado otra solución. Esta mejor respuesta, 100% funciona. – dns

Cuestiones relacionadas