通过javascript将窗口设置为全屏(REAL全屏; F11功能)
关于此有几个问题,有人说这是不可能的,有人说在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渲染它所必需的
以上是 通过javascript将窗口设置为全屏(REAL全屏; F11功能) 的全部内容, 来源链接: utcz.com/qa/401853.html