31

如何仅使用 Javascript/JQuery 代码进入全屏模式?目标是像在浏览器中按 F11 一样进入全屏模式,然后以编程方式。

4

9 回答 9

47

您可以使用没有 jQuery 的 vanilla JavaScript 激活全屏模式。

<!DOCTYPE html>

<html>

<head>
    <title>Full Screen Test</title>
</head>

<body id="body">
    <h1>test</h1>

    <script>
    var elem = document.getElementById("body");

    elem.onclick = function() {
        req = elem.requestFullScreen || elem.webkitRequestFullScreen || elem.mozRequestFullScreen;
        req.call(elem);
    }
    </script>
</body>

</html>

需要注意的重要一点是,您只能在用户执行操作(例如单击)时请求全屏模式。如果没有用户操作[1](例如在页面加载时),您将无法请求全屏模式。

这是切换全屏模式的跨浏览器功能(从 MDN 获得):

function toggleFullScreen() {
  if (!document.fullscreenElement &&    // alternative standard method
      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods
    if (document.documentElement.requestFullscreen) {
      document.documentElement.requestFullscreen();
    } else if (document.documentElement.msRequestFullscreen) {
      document.documentElement.msRequestFullscreen();
    } else if (document.documentElement.mozRequestFullScreen) {
      document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullscreen) {
      document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
    }
  } else {
    if (document.exitFullscreen) {
      document.exitFullscreen();
    } else if (document.msExitFullscreen) {
      document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
      document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
      document.webkitExitFullscreen();
    }
  }
}

有关更多信息,请查看全屏 API 上的 MDN 页面

于 2012-11-09T06:48:36.117 回答
7

这是一个使浏览器全屏的工作演示

http://johndyer.name/lab/fullscreenapi/

于 2012-11-09T06:40:46.447 回答
2

您可以为此目的使用免费提供的 jquery 插件,查看这些 - jquery full screen , Jquery full screen , jquery full screen

于 2012-11-09T06:33:33.613 回答
2

如果您需要 JQuery 来轻松选择元素,那么您可以这样做:

var viewer = $("#parentid .classname .childelement")[0];
var rFS = viewer.mozRequestFullScreen || viewer.webkitRequestFullscreen || viewer.requestFullscreen;
    rFS.call(viewer); 
于 2016-12-01T11:18:20.610 回答
2

如果您需要支持 IE11 (IE8-10) 之前的 IE 版本的插件,请查看jQuery.fullscreenIE 直到IE11才原生支持此功能。

于 2015-09-15T14:45:13.497 回答
1

请尝试以下代码

var el = document.documentElement,
  rfs = el.requestFullscreen
    || el.webkitRequestFullScreen
    || el.mozRequestFullScreen
    || el.msRequestFullscreen 
;

rfs.call(el);
于 2018-01-30T12:06:45.553 回答
0

尝试使用 window.resizeTo(x,y) 方法。

var  w = window.open('','', 'width=100,height=100');

w.resizeTo(w.screen.availHeight, w.screen.availWidth);

 w.focus();
于 2018-12-14T07:17:20.773 回答
0

这是一个老问题,但也许有人可能需要这个。我正在寻找一种通过 jQuery 为浏览器获取全屏模式的解决方案,我找到了这个解决方案。我强烈推荐 Sindre Sorhus 的 screenfull.js 插件。在这里你可以得到文件。

https://github.com/sindresorhus/screenfull.js

页面中还提供了操作方法和演示。

于 2018-10-25T17:24:20.233 回答
-2

如果有按钮或其他任何东西,我们可以使用这个脚本:

<script language="JavaScript">
function fullScreen() {
    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}");
        }
    }

}
// End -->

用一个按钮。一切都很简单,<a href="javascript:void(0);" onclick="fullScreen();"><BUTTON></a>
但是我如何在页面加载时加载该脚本。这意味着网络表单将在页面加载时全屏显示,无需点击任何内容。

于 2015-07-30T07:01:13.417 回答