Javascript를 사용하여 창을 전체 화면으로 만드는 방법 (화면 전체에 스트레치)


253

IE, Firefox 및 Opera에서 작동하는 방식으로 방문자의 브라우저를 JavaScript를 사용하여 전체 화면으로 전환하려면 어떻게해야합니까?


29
대중을위한 것이 아니라 내부 적용. im 하나를 남용하지 않습니다
— user63898

2
실용적으로 사용자에게 물을 수 있습니다.sprintf('Dear user, the best experience with this site is in fullscreen mode. To view this site full screen, press %s.', _get_browsers_full_Screen_key())
— Boldewyn

6
YouTube 전체 화면이 어떻게 작동하는지 궁금합니다. 누구나 답을 알고 있습니까?
— Kasturi

6
이것은 브라우저가 아닌 플래시 플레이어에 의해 수행됩니다.
— user63898

5
최신 기술 개요를 보려면 여기를보십시오 : hacks.mozilla.org/2012/01/…
— loomi

답변:


54

JavaScript로 전체 화면에 접근 할 수있는만큼 가깝습니다.

<script type="text/javascript">
    window.onload = maxWindow;

    function maxWindow() {
        window.moveTo(0, 0);

        if (document.all) {
            top.window.resizeTo(screen.availWidth, screen.availHeight);
        }

        else if (document.layers || document.getElementById) {
            if (top.window.outerHeight < screen.availHeight || top.window.outerWidth < screen.availWidth) {
                top.window.outerHeight = screen.availHeight;
                top.window.outerWidth = screen.availWidth;
            }
        }
    }
</script> 

링크 haim evgi가 게시 한 링크에서 링크 / 허용 된 답변을보십시오. 브라우저 크기를 조정할 수 없습니다. 그러나 브라우저 창 내에서 최대화 할 수 있습니다 (읽는 방법)
— lexu

4
옵션의 자바 스크립트 권한 설정에 따라 다릅니다. 창 기능에 대해 js 제어를 토글 할 수 있습니다.
— garrow

3
이것은 사이트에서 이와 같은 코드를 사용했을 때 마지막으로 발생 했으며
— Quentin

2
웹킷 전체 화면 API를 살펴보십시오. bleeding-edge-tlv.appspot.com/#28(From # gdd2011)
— Christian Kuetbach

17
이것은 오래되었습니다. 솔루션을 찾으십시오!
— Keavon

281

Chrome 15, Firefox 10, Safari 5.1, IE 10과 같은 최신 브라우저에서는 가능합니다. 브라우저 설정에 따라 ActiveX를 통한 구형 IE의 경우에도 가능합니다.

방법은 다음과 같습니다.

function requestFullScreen(element) {
    // Supports most browsers and their versions.
    var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;

    if (requestMethod) { // Native full screen.
        requestMethod.call(element);
    } else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }
}

var elem = document.body; // Make the body go full screen.
requestFullScreen(elem);

사용자는 분명히 전체 화면 요청을 먼저 수락해야하며 페이지로드시이를 자동으로 트리거 할 수 없으며 사용자 (예 : 버튼)에 의해 트리거되어야합니다.

더 읽기 : https://developer.mozilla.org/en/DOM/Using_full-screen_mode


3
현재 Chrome 15, Firefox 10 및 Safari 5.1에서 사용할 수 있습니다. 현재 플레이 상태에 대한 자세한 내용 은이 hacks.mozilla.org 블로그 게시물 을 참조하십시오.
— Simon Lieschke 2013

10
환상적이며 전체 화면을 종료하는 방법은 무엇입니까?
— Christopher Chase

2
몇 가지. IE에서 이것은 분명히 요소와 전체 화면을 무시합니다. 전체 화면을보고 싶다면 모든 것이 전달되어야 document.documentElement올바른 루트 요소 ( 'html'또는 'body')를 얻을 수 있습니다. 사용 cancelFullscreen()하여 닫을 수 있습니다 (또는 IE의 경우 'F11'을 다시 보내십시오).
— Matthew Wilcoxson

6
사용자에 의해서만 트리거 될 수 있습니다 (예 : 전체 화면 버튼을 통해). 로드시 자동 전체 화면을 사용할 수 없습니다.
— A. KR


66

이 코드에는 Internet Explorer 9 및 이전 버전과 최신 버전의 Chrome에서 전체 화면을 사용하도록 설정하는 방법도 포함되어 있습니다. 허용 된 답변은 다른 브라우저에도 사용될 수 있습니다.

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

출처 :


Chrome 18에서 테스트 된 IE 8 이상, FF10 이상 (FF 9에서 시도했지만 작동하지 않음)에서 작동
— Treby

@Peter O. "이벤트 핸들러에 배치해야합니다", 온로드를 트리거하는 방법은 무엇입니까?
— Francis P

@FrancisP : 아니오; "load"또는 "DOMContentLoaded"는 Fullscreen API에 적용 가능한 UIEvent 또는 MouseEvent가 아닙니다.
— Peter O.

2
"(그러나 requestFullScreen은"중에 만 작동합니다 ""[클릭 및 키 다운 등과 같은 대부분의 UIEvent 및 MouseEvents 동안에 만 작동합니다 "", "따라서 악의적으로 사용할 수 없음")에

예 , 나 documentElement보다 낫습니다 body.
— Matt

24

전체 화면 모드로 들어가거나 나가는 완벽한 솔루션입니다 (일명 취소, 종료, 이스케이프).

        function cancelFullScreen(el) {
            var requestMethod = el.cancelFullScreen||el.webkitCancelFullScreen||el.mozCancelFullScreen||el.exitFullscreen;
            if (requestMethod) { // cancel full screen.
                requestMethod.call(el);
            } else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
                var wscript = new ActiveXObject("WScript.Shell");
                if (wscript !== null) {
                    wscript.SendKeys("{F11}");
                }
            }
        }

        function requestFullScreen(el) {
            // Supports most browsers and their versions.
            var requestMethod = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;

            if (requestMethod) { // Native full screen.
                requestMethod.call(el);
            } else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
                var wscript = new ActiveXObject("WScript.Shell");
                if (wscript !== null) {
                    wscript.SendKeys("{F11}");
                }
            }
            return false
        }

        function toggleFull() {
            var elem = document.body; // Make the body go full screen.
            var isInFullScreen = (document.fullScreenElement && document.fullScreenElement !== null) ||  (document.mozFullScreen || document.webkitIsFullScreen);

            if (isInFullScreen) {
                cancelFullScreen(document);
            } else {
                requestFullScreen(elem);
            }
            return false;
        }

1
무엇에 대해 msIsFullScreen?
— kangax

1
사양이 변경되었습니다. webkitCancelFullScreen지금 webkitExitFullscreen입니다. generatedcontent.org/post/70347573294/…
— Doug S

이 논리 및 작업의 첫 부분은 중복되므로 제거해야합니다.document.fullScreenElement && document.fullScreenElement !== null
— 고려 사항

변경 elem에 toggleFull()에서 document.body에 document.documentElement수정을 왼쪽과 오른쪽 여백 문제
— Firnas


8

새로운 html5 기술 – 전체 화면 API를 사용하면 웹 페이지 콘텐츠를 전체 화면 모드로 쉽게 표시 할 수 있습니다. 전체 화면 모드에 대한 자세한 정보를 제공하려고합니다. 이 기술을 사용하여 얻을 수있는 모든 장점, 즉 전체 화면 사진 앨범, 비디오 및 게임에 대해 상상해보십시오.

그러나이 새로운 기술을 설명하기 전에이 기술은 실험적이며 모든 주요 브라우저에서 지원됩니다 .

전체 자습서는 여기에서 찾을 수 있습니다 : http://www.css-jquery-design.com/2013/11/javascript-jquery-fullscreen-browser-window-html5-technology/

여기 데모가 있습니다 : http://demo.web3designs.com/javascript-jquery-fullscreen-browser-window-html5-technology.htm


1
@Ian IE Edge에서 작동합니다. 이전 버전의 IE는이를 지원하지 않습니다.
— Dhiraj

8

나는 이것을 사용했다 ...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
    <script language="JavaScript">
        function fullScreen(theURL) {
            window.open(theURL, '', 'fullscreen=yes, scrollbars=auto');
        }
        // End -->
    </script>
</head>

<body>
    <h1 style="text-align: center;">
        Open In Full Screen
    </h1>
    <div style="text-align: center;"><br>
        <a href="javascript:void(0);" onclick="fullScreen('http://google.com');">
            Open Full Screen Window
        </a>
    </div>
</body>

</html>

window.open (theURL, '', 'fullscreen = yes', 'scrollbars = auto'); 이 줄에는 파 렌스 문제가있다
— Kevin Bowersox

그래도 부모님의 것입니다. 창이 이미 열려 있으면 도움이되지 않습니다.
— Christian

7

간단한 예 : http://www.longtailvideo.com/blog/26517/using-the-browsers-new-html5-fullscreen-capabilities/

<script type="text/javascript">
  function goFullscreen(id) {
    // Get the element that we want to take into fullscreen mode
    var element = document.getElementById(id);

    // These function will not exist in the browsers that don't support fullscreen mode yet, 
    // so we'll have to check to see if they're available before calling them.

    if (element.mozRequestFullScreen) {
      // This is how to go into fullscren mode in Firefox
      // Note the "moz" prefix, which is short for Mozilla.
      element.mozRequestFullScreen();
    } else if (element.webkitRequestFullScreen) {
      // This is how to go into fullscreen mode in Chrome and Safari
      // Both of those browsers are based on the Webkit project, hence the same prefix.
      element.webkitRequestFullScreen();
   }
   // Hooray, now we're in fullscreen mode!
  }
</script>

<img class="video_player" src="image.jpg" id="player"></img>
<button onclick="goFullscreen('player'); return false">Click Me To Go Fullscreen! (For real)</button>

6

함수 만들기

function toggleFullScreen() {

            if ((document.fullScreenElement && document.fullScreenElement !== null) ||
                    (!document.mozFullScreen && !document.webkitIsFullScreen)) {
             $scope.topMenuData.showSmall = true;
                if (document.documentElement.requestFullScreen) {
                    document.documentElement.requestFullScreen();
                } else if (document.documentElement.mozRequestFullScreen) {
                    document.documentElement.mozRequestFullScreen();
                } else if (document.documentElement.webkitRequestFullScreen) {
                    document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
                }
            } else {

                  $scope.topMenuData.showSmall = false;
                if (document.cancelFullScreen) {
                    document.cancelFullScreen();
                } else if (document.mozCancelFullScreen) {
                    document.mozCancelFullScreen();
                } else if (document.webkitCancelFullScreen) {
                    document.webkitCancelFullScreen();
                }
            }
        }

HTML Put Code에서

<ul class="unstyled-list fg-white">

            <li class="place-right" data-ng-if="!topMenuData.showSmall" data-ng-click="toggleFullScreen()">Full Screen</li>
            <li class="place-right" data-ng-if="topMenuData.showSmall" data-ng-click="toggleFullScreen()">Back</li>
        </ul>

if 문이 IE 11의 전체 화면 모드에서이를 감지하지 못하는 것 같습니다 (닫지 마십시오).
— Ian

3

이제 전체 화면 API가 더 광범위하고 성숙해 보이므로 Screenfull.js를 사용해보십시오 . 어제 처음으로 사용했으며 오늘날 우리 앱은 거의 모든 브라우저에서 전체 화면으로 제공됩니다!

:fullscreenCSS 의 의사 클래스 와 연결하십시오 . 자세한 내용은 https://www.sitepoint.com/use-html5-full-screen-api/ 를 참조 하십시오 .


놀라운 작은 스크립트. 내 웹 사이트 www.StarCommanderOnline.com에서 사용하십시오. 고마워!
— Andy

3

운 좋게도 웹 사용자를 의심하지 않으면 자바 스크립트만으로는 수행 할 수 없습니다. 브라우저 별 플러그인이없는 경우 브라우저 별 플러그인을 작성한 다음 사람들이 다운로드하도록 유도해야합니다. 가장 가까운 도구 또는 탐색 막대가없는 최대화 된 창이지만 사용자는 여전히 URL을 볼 수 있습니다.

window.open('http://www.web-page.com', 'title' , 'type=fullWindow, fullscreen, scrollbars=yes');">

이것은 사용자로부터 많은 브라우저 기능을 제거하기 때문에 일반적으로 나쁜 습관으로 간주됩니다.


3

screenfull.js를 사용해보십시오 . Opera 브라우저에서도 작동하는 멋진 크로스 브라우저 솔루션입니다.

페이지 또는 요소를 전체 화면으로 가져올 수있는 JavaScript 전체 화면 API의 브라우저 간 사용을위한 간단한 래퍼입니다. 브라우저 구현의 차이를 완화시켜주지 않아도됩니다.

데모 .


2

이것은 지원할 수 있습니다

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="PRODUCTION_Default5" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
        <script type="text/javascript">
            function max()
            {
               window.open("", "_self", "fullscreen=yes, scrollbars=auto"); 
            }
        </script>
    </head>
    <body onload="max()">
        <form id="form1" runat="server">
        <div>
        This is Test Page
        </div>
        </form>
    </body>
    </html>

2

할 수 있겠 니:

<script type="text/javascript">
    function go_full_screen(){
      var elem = document.documentElement;
      if (elem.requestFullscreen) {
        elem.requestFullscreen();
      } else if (elem.msRequestFullscreen) {
        elem.msRequestFullscreen();
      } else if (elem.mozRequestFullScreen) {
        elem.mozRequestFullScreen();
      } else if (elem.webkitRequestFullscreen) {
        elem.webkitRequestFullscreen();
      }
    }
</script>

<a href="#" onClick="go_full_screen();">Full Screen / Compress Screen</a>


Ubuntu의 Chrome 76에서 나에게 실패한 것 같습니다.
— Jonathan

1

이 스크립트를 사용해보십시오

<script language="JavaScript">
function fullScreen(theURL) {
window.open(theURL, '', 'fullscreen=yes, scrollbars=auto' );
}
</script>

스크립트에서 호출하려면이 코드를 사용하십시오.

window.fullScreen('fullscreen.jsp');

또는 하이퍼 링크로 이것을 사용하십시오

<a href="javascript:void(0);" onclick="fullScreen('fullscreen.jsp');"> 
Open in Full Screen Window</a>

1

Firefox 10에서는 다음 자바 스크립트를 사용하여 현재 페이지를 전체 화면 (창 크롬이없는 실제 전체 화면)으로 만들 수 있습니다.

window.fullScreen = true;

1
"supposed to"라는 용어는 소프트웨어에서 너무 과부하입니다. 일부 브라우저에서는 읽기 전용입니다. Firefox 10에서 설정할 수 있습니다.
— Leopd

1

이것은 창을 전체 화면으로 보여줍니다.

참고 : 이것이 작동하려면 http://code.jquery.com/jquery-2.1.1.min.js의 Query가 필요합니다 .

또는 이와 같은 자바 스크립트 링크를 만드십시오.

<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>

   <div id="demo-element">
        <span>Full Screen Mode Disabled</span>
        <button id="go-button">Enable Full Screen</button>
    </div>
    <script>
    function GoInFullscreen(element) {
        if(element.requestFullscreen)
            element.requestFullscreen();
        else if(element.mozRequestFullScreen)
            element.mozRequestFullScreen();
        else if(element.webkitRequestFullscreen)
            element.webkitRequestFullscreen();
        else if(element.msRequestFullscreen)
            element.msRequestFullscreen();
    }

    function GoOutFullscreen() {
        if(document.exitFullscreen)
            document.exitFullscreen();
        else if(document.mozCancelFullScreen)
            document.mozCancelFullScreen();
        else if(document.webkitExitFullscreen)
            document.webkitExitFullscreen();
        else if(document.msExitFullscreen)
            document.msExitFullscreen();
    }

    function IsFullScreenCurrently() {
        var full_screen_element = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || null;

        if(full_screen_element === null)
            return false;
        else
            return true;
    }

    $("#go-button").on('click', function() {
        if(IsFullScreenCurrently())
            GoOutFullscreen();
        else
            GoInFullscreen($("#demo-element").get(0));
    });

    $(document).on('fullscreenchange webkitfullscreenchange mozfullscreenchange MSFullscreenChange', function() {
        if(IsFullScreenCurrently()) {
            $("#demo-element span").text('Full Screen Mode Enabled');
            $("#go-button").text('Disable Full Screen');
        }
        else {
            $("#demo-element span").text('Full Screen Mode Disabled');
            $("#go-button").text('Enable Full Screen');
        }
    });</script>

0

"키오스크"상황에있는 경우 전체 화면으로 이동하는 Q & D 방법은 F11이 시작된 후 브라우저 창에 F11을 공급하는 것입니다. 이것은 시작이 아니며 사용자가 상단에서 터치 스크린을 찌를 수 있고 반 전체 화면을 볼 수는 있지만 F11을 먹이는 것은 핀치하거나 프로젝트를 시작하기 위해 할 수 있습니다.


0

여기 제에 대한 완전한 솔루션 Full Screen과 Exit Full Screen양 (타워의 답변의 도움에 많은 감사 위의) :

$(document).ready(function(){
$.is_fs = false;
$.requestFullScreen = function(calr)
{
    var element = document.body;

    // Supports most browsers and their versions.
    var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;

    if (requestMethod) { // Native full screen.
        requestMethod.call(element);
    } else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }

    $.is_fs = true;    
    $(calr).val('Exit Full Screen');
}

$.cancel_fs = function(calr)
{
    var element = document; //and NOT document.body!!
    var requestMethod = element.exitFullScreen || element.mozCancelFullScreen || element.webkitExitFullScreen || element.mozExitFullScreen || element.msExitFullScreen || element.webkitCancelFullScreen;

    if (requestMethod) { // Native full screen.
    requestMethod.call(element);
    } else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }    

    $(calr).val('Full Screen');    
    $.is_fs = false;
}

$.toggleFS = function(calr)
{    
    $.is_fs == true? $.cancel_fs(calr):$.requestFullScreen(calr);
}

});

// 전화 :

<input type="button" value="Full Screen" onclick="$.toggleFS(this);" />
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.