【发布时间】:2011-04-23 11:26:23
【问题描述】:
我正在为即将推出的 Chrome 网上商店创建一个网络应用。有没有办法模拟 F11 被按下?或者只是一个让当前窗口全屏显示的命令?
【问题讨论】:
标签: javascript html
我正在为即将推出的 Chrome 网上商店创建一个网络应用。有没有办法模拟 F11 被按下?或者只是一个让当前窗口全屏显示的命令?
【问题讨论】:
标签: javascript html
如此简单 试试这个
<div dir="ltr" style="text-align: left;" trbidi="on">
<!-- begin snippet: js hide: false console: true babel: null -->
【讨论】:
我在这个问题上尝试了其他答案,但不同的浏览器 API 存在错误,特别是 Fullscreen 与 FullScreen。这是我的代码,它适用于主要浏览器(截至 2019 年第一季度),并且应该在它们标准化时继续工作。
function fullScreenTgl() {
let doc=document,elm=doc.documentElement;
if (elm.requestFullscreen ) { (!doc.fullscreenElement ? elm.requestFullscreen() : doc.exitFullscreen() ) }
else if (elm.mozRequestFullScreen ) { (!doc.mozFullScreen ? elm.mozRequestFullScreen() : doc.mozCancelFullScreen() ) }
else if (elm.msRequestFullscreen ) { (!doc.msFullscreenElement ? elm.msRequestFullscreen() : doc.msExitFullscreen() ) }
else if (elm.webkitRequestFullscreen) { (!doc.webkitIsFullscreen ? elm.webkitRequestFullscreen() : doc.webkitCancelFullscreen()) }
else { console.log("Fullscreen support not detected."); }
}
【讨论】:
var elem = document.getElementById("myvideo");
function openFullscreen() {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) { /* Firefox */
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { /* IE/Edge */
elem.msRequestFullscreen();
}
}
//Internet Explorer 10 and earlier does not support the msRequestFullscreen() method.
【讨论】:
javascript: document.body.webkitRequestFullScreen();
go fullscreen ← 您可以将此链接拖到书签栏以创建书签,但之后您必须编辑其 URL:删除javascript 之前的所有内容,包括单斜杠:http://delete_me/ s>javascript:[…]
这适用于我在谷歌浏览器中。您必须测试它是否在您的环境中工作,否则使用函数调用的不同措辞,例如javascript:document.body.requestFullScreen(); – 查看其他答案以了解可能的变体。
基于@Zuul 和@default 的回答——谢谢!
【讨论】:
javascript:void%20document.body.appendChild((e=%3E%7Be.onclick=()=%3E%7Bdocument.documentElement.requestFullscreen();e.parentNode.removeChild(e)%7D;e.innerHTML='FULLSCREEN';e.style='position:fixed;left:0;top:0;z-index:999999999999';return%20e%7D)(document.createElement('BUTTON'))) 并使用 void 避免将当前文档替换为函数的返回值。
//set height of html
$("html").css("height", screen.height);
//set width of html
$("html").css("width", screen.width);
//go to full screen mode
document.documentElement.webkitRequestFullscreen();
【讨论】:
如果您想将整个选项卡切换到全屏(就像 F11 按键一样)document.documentElement 是您要查找的元素:
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();
}
}
【讨论】:
document.documentElement 和document.body 有区别吗(就像@Zuul 在上面的旧答案中所做的那样)?
It's possible with JavaScript.
var elem = document.getElementById("myvideo");
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen();
}
【讨论】:
我意识到这是一个非常古老的问题,并且提供的答案是足够的,因为它是活跃的,我通过全屏进行一些研究时遇到了这个问题,我在这里留下一个关于这个主题的更新:
有办法“模拟” F11键,但不能自动化,用户实际上需要点击一个按钮例如,为了触发全屏模式。
With this example,用户可以通过点击按钮来切换全屏模式:
作为触发器的 HTML 元素:
<input type="button" value="click to toggle fullscreen" onclick="toggleFullScreen()">
JavaScript:
function toggleFullScreen() {
if ((document.fullScreenElement && document.fullScreenElement !== null) ||
(!document.mozFullScreen && !document.webkitIsFullScreen)) {
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 {
if (document.cancelFullScreen) {
document.cancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
}
}
This example 让您无需切换即可启用全屏模式,即切换到全屏但返回正常屏幕必须使用 F11 键:
作为触发器的 HTML 元素:
<input type="button" value="click to go fullscreen" onclick="requestFullScreen()">
JavaScript:
function requestFullScreen() {
var el = document.body;
// 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}");
}
}
}
How to make in Javascript full screen windows (stretching all over the screen)
How to make browser full screen using F11 key event through JavaScript
【讨论】:
msRequestFullscreen 和msExitFullscreen(注意小写的s)
这里有几种方法可以做到这一点:
我建议,提供一个弹出窗口,询问用户是否要全屏显示,然后相应地调用此 javascript。
【讨论】: