我想通过在每次加载页面时触发此按钮来使用隐藏按钮启动全屏模式。
简短说明:我的项目不是针对公共网站,而是针对私人网络应用程序。登录到webapp后,它将以全屏模式运行。我目前最好的想法是在每个页面上启动全屏模式,因为它在每次加载新网址后都会关闭。
我对解决此问题的其他想法非常感兴趣,但首先是我当前的代码:
fullscreen.js
(将身体切换为全屏):
function fullscreen() {
if (!document.fullscreenElement && !document.msFullscreenElement
&& !document.mozFullScreenElement && !document.webkitFullscreenElement) {
if (document.body.requestFullscreen) {
document.body.requestFullscreen();
} else if (document.body.msRequestFullscreen) {
document.body.msRequestFullscreen();
}else if (document.body.mozRequestFullScreen) {
document.body.mozRequestFullScreen();
}else if (document.body.webkitRequestFullscreen) {
document.body.webkitRequestFullscreen();
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
} }
clickButton.js
(将eventListener添加到按钮):
function clickButton(buttonId) {
if (document.getElementById(buttonId) == null
|| document.getElementById(buttonId) == undefined) {
return;
}
if (document.getElementById(buttonId).dispatchEvent) {
var e = document.createEvent("MouseEvents");
e.initEvent("click", true, true);
document.getElementById(buttonId).dispatchEvent(e);
} else {
document.getElementById(buttonId).click();
} }
包含脚本之后,我想像这样使用它们:
<button id="start"></button>
<script language="javascript" type="text/javascript" src="fullscreen.js"></script>
<script language="javascript" type="text/javascript" src="clickButton.js"></script>
<script language="javascript" type="text/javascript">
document.getElementById("start").onclick = fullscreen();
clickButton("start");
</script>
我尝试使用jQuery的类似版本,但没有成功。我认为eventhandler存在问题,我没有看到。感谢您的支持。
答案 0 :(得分:0)
接近代码的末尾:
document.getElementById("start").onclick = fullscreen();
您正在将element.onclick设置为函数的返回值(什么都不是)。你想要做的是将它设置为函数本身。
document.getElementById("start").onclick = fullscreen;
嗯,经过进一步考虑。在该分配期间,您的fullscreen
函数仍应被调用。但是,必须在事件处理程序中调用全屏请求。所以据我所知,它不可能自动进入全屏模式。这很可能是浏览器的UX或安全功能。