2011-09-21 10 views
6

Chcę, aby moja przeglądarka była w trybie pełnoekranowym. Tak samo, jak w przypadku zdarzenia kluczowego F11. Znalazłem niektóre przykłady, takie jak:Sposób wyświetlania pełnego ekranu przeglądarki przy użyciu zdarzenia klawisza F11 poprzez JavaScript

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

Który nie działa w Mozilli lub innych najnowszych przeglądarkach. Proszę dać mi znać, jeśli istnieje sposób na rozwiązanie tego problemu.

Dzięki. (Z wyprzedzeniem).

Odpowiedz

6

Nie jest możliwe bez natywnego kodu lub rozszerzenia przeglądarki. ActiveXObject istnieje tylko w przeglądarce IE.

+0

Zastanawiam się, ile zmieniło się od 21 września 2011 r.? Facebook (9 kwietnia 2012 r.) Ma funkcjonalność, która sprawia, że ​​jego popoule są pełnoekranowe (przynajmniej na pewno w Chrome), a ja wciąż używam przeglądarki (i nie flashowania), ponieważ mogę "sprawdzić element" i robić inne rzeczy z Chrome .. – JayC

+0

Całkiem prawdziwe: ponieważ @Treby zwraca uwagę, że teraz pojawiają się pełnoekranowe interfejsy API, więc może to już nie być poprawne. – Femi

+0

Pamiętaj jednak, że interfejs API pełnego ekranu i F11 to [https://bugzilla.mozilla.org/show_bug.cgi?id=794468](nie to samo]. – Tgr

-1

teraz dzień jest możliwe (przynajmniej przeglądarki WebKit w Safari 5, chrom 16) z

webkitEnterFullscreen() 

Firefox 10 również działa. check this link

nie wiem co to znaczy robi w tym temacie

9

użyć tego kodu zamiast

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}"); 
    } 
} 

Źródło: How to make in Javascript full screen windows (stretching all over the screen)

Works i przetestowane w Chrome, FF10 powyżej, IE 8 powyżej, Safari 5 ..

5

Jest to teraz możliwe w najnowszych wersjach Chrome, Firefox i IE (11).

Postępując zgodnie ze wskazówkami Zuula na temat this thread, zredagowałem jego kod, aby uwzględnić IE11 i opcję pełnego ekranu dowolnego elementu wyboru na twojej stronie.

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)"> 

Gdzie "document.body" jest taki element, ty tak chcesz.

Należy również zauważyć, że próba uruchomienia poleceń pełnoekranowych z poziomu konsoli nie działa w przeglądarce Chrome ani w IE. Odniosłem jednak sukces w Firebug w Firefoksie.

Jedną rzeczą jest, aby pamiętać, że te „pełny ekran” polecenia nie posiada pionowy pasek przewijania, należy określić to w CSS: „ważne”

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

The wydaje się być konieczne dla IE to renderowanie

+0

Próbowałem innego rozwiązania. Ta najlepsza odpowiedź, działa w 100%. – dns

Powiązane problemy