当前位置: 首页 > 面试题库 >

通过javascript将窗口设置为全屏(REAL全屏; F11功能)

颛孙飞
2023-03-14
问题内容

关于此有几个问题,有人说这是不可能的,有人说在IE中是可能的,例如InternetExplorer全屏模式?我想知道通用解决方案和答案。

我正在建立一个照相馆网页,当全屏观看时,该照相馆确实有所作为(正如标题所述,我所说的是真正的全屏,而不是带有条形和窗口镀铬等),我想放置一个按钮全屏显示。(不,我不会在没有用户意图的情况下强行使用FS,我也讨厌这种“功能”)当通过用户启动的操作(例如单击按钮)启动时,在Flash中是可能的,我想知道是否这样东西也可用于Javascript。从逻辑上讲,它应该具有类似于Flash/SL用户启动的全屏模式的机制。如果没有适用于所有人的“通用”功能,我会设置窗口的宽度/高度_等。也没有附带告诉您设置窗口的宽度/高度的答案,我知道该怎么做,我也没有在寻找它)。


问题答案:

现在可以在最新版本的Chrome,Firefox和IE(11)中实现。

按照Zuul在该线程上的指针,我编辑了他的代码,以包括IE11和全屏显示您页面上所选元素的选项。

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

其中“ document.body”是您希望的任何元素。

另请注意,尝试从控制台运行这些全屏命令似乎不适用于Chrome或IE。我在Firefox中使用Firebug确实取得了成功。

需要注意的另一件事是这些“全屏”命令没有垂直滚动条,您需要在CSS中指定此滚动条:

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

“!重要”似乎是IE渲染它所必需的



 类似资料:
  • 我试图在linux red hat上使用GLFW打开一个OpenGL全屏窗口。我有一个桌面,它跨越两个显示器,总分辨率为3840*1080。 我有两个问题:1。窗口仅在一台显示器上打开,最大窗口宽度为1920(单个显示器的宽度)。2.窗口的最大高度是1003(我认为是屏幕的高度减去任务栏和顶栏的高度)。 这是我用来打开窗口的代码: 输出:宽度=1920高度=1003 编辑:我使用xrandr检查可

  • 我有一些问题与GLFW的窗口创建。我希望有一个程序能够在窗口和全屏模式之间切换。要在GLFW 2.7.8中做到这一点,必须首先销毁活动窗口,然后创建一个新的窗口。我读到3.0版本支持多个窗口,但它仍在开发中。 我提供了自己的功能来处理键盘输入。使用最初的400×400窗口,程序按预期运行;它将在f或F上进入全屏,当按下转义键时退出,当按下任何其他键时都会抱怨。 但是,当进入全屏模式时,窗口对我提供

  • 我一直在使用此代码手动将屏幕设置为我的显示器像素尺寸: 我想找到一种方法,将JFrame设置为在任何显示器上全屏显示,但考虑到我的“Game”类包含其他方法和变量,我无法将其从这个启动程序代码中删除。

  • 本文向大家介绍C#窗体全屏功能实例代码,包括了C#窗体全屏功能实例代码的使用技巧和注意事项,需要的朋友参考一下 最近有朋友让我给他弄个应用程序全屏的功能,例如银行的取号程序界面。所以我从网上查询了一些实现的方法。 C#应用程序中如何实现全屏幕显示功能? 效果就像windows自带的屏幕保护程序和众多的游戏那样,无论是否设置了“将任务栏保持在其他窗口的前端”都不显示任务栏 实现方式一 在网上找来一些

  • 在此输入图像说明 虽然大小设置为与父级匹配,但仍未设置为极端全屏???

  • 问题内容: 所有浏览器均支持iframe height = 100%吗? 我使用doctype作为: 在我的iframe代码中,如果我说: 我的意思是说,它实际上会占用其余页面的高度吗(因为顶部还有另一个固定高度为50px的框架),所有主流浏览器(IE / Firefox / Safari)都支持吗? 关于滚动条,即使我说了,我也可以在Firefox中看到禁用的滚动条…如何完全隐藏滚动条并自动设置