如何仅使用 Javascript/JQuery 代码进入全屏模式?目标是像在浏览器中按 F11 一样进入全屏模式,然后以编程方式。
9 回答
您可以使用没有 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 页面。
这是一个使浏览器全屏的工作演示
您可以为此目的使用免费提供的 jquery 插件,查看这些 - jquery full screen , Jquery full screen , jquery full screen
如果您需要 JQuery 来轻松选择元素,那么您可以这样做:
var viewer = $("#parentid .classname .childelement")[0];
var rFS = viewer.mozRequestFullScreen || viewer.webkitRequestFullscreen || viewer.requestFullscreen;
rFS.call(viewer);
如果您需要支持 IE11 (IE8-10) 之前的 IE 版本的插件,请查看jQuery.fullscreen。IE 直到IE11才原生支持此功能。
请尝试以下代码
var el = document.documentElement,
rfs = el.requestFullscreen
|| el.webkitRequestFullScreen
|| el.mozRequestFullScreen
|| el.msRequestFullscreen
;
rfs.call(el);
尝试使用 window.resizeTo(x,y) 方法。
var w = window.open('','', 'width=100,height=100');
w.resizeTo(w.screen.availHeight, w.screen.availWidth);
w.focus();
这是一个老问题,但也许有人可能需要这个。我正在寻找一种通过 jQuery 为浏览器获取全屏模式的解决方案,我找到了这个解决方案。我强烈推荐 Sindre Sorhus 的 screenfull.js 插件。在这里你可以得到文件。
https://github.com/sindresorhus/screenfull.js
页面中还提供了操作方法和演示。
如果有按钮或其他任何东西,我们可以使用这个脚本:
<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>
但是我如何在页面加载时加载该脚本。这意味着网络表单将在页面加载时全屏显示,无需点击任何内容。