Ich möchte, dass mein HTML5-Spiel beim Start in den nativen Vollbildmodus wechselt. Wenn ich dies mit einem Klick auf eine Schaltfläche mache, wird der Vollbildmodus angezeigt. Aber wenn ich window.onload verwende, um es beim Laden in den Vollbildmodus zu versetzen, antwortet es auf der Konsole. Fehler beim Ausführen von „requestFullScreen“ auf „Element“: Die API kann nur durch eine Benutzergeste initiiert werden. Ich verwende Chrom. Gibt es eine Problemumgehung?
Mein Code:
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = openfullscreen();
function launchIntoFullscreen(element) {
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
} else if(element.msRequestFullscreen) {
element.msRequestFullscreen();
}
}
function openfullscreen() {
launchIntoFullscreen(document.documentElement);
}
function exitFullscreen() {
if(document.exitFullscreen) {
document.exitFullscreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
window.close();
}
function fix() {
var screenwidth = screen.width;
var screenhei = screen.height;
document.getElementById('ifam').width = screenwidth;
document.getElementById('ifam').height = screenhei;
}
</script>
<style>
#ifam {
position:fixed;
left:0%;
top:0%;
z-index:-1;
}
#fullscreen {
position:fixed;
left:0%;
top:0%;
z-index:1;
}
</style>
</head>
<body onload="fix()">
<div id="fullscreen">
<button onclick="openfullscreen()">Open</button>
<button onclick="exitFullscreen()">Exit</button>
</div>
<iframe id="ifam" src="https://stackoverflow.com/questions/32642865/lchosser.html"></iframe>
</body>
</html>
Problem war
User clicked, full screen was triggered using requestFullscreen
. Aber wenn es im Vollbildmodus ist, ist dasfull screen was triggered again due to application refresh
. Verwendung einerstate variable
zu erkennenalready in full screen
Löst das Problem, dafür müssen wir uns das anhörenexitFullscreen
auch wie beim Drücken der Escape-Taste usw.– Manohar Reddy Poreddy
10. September 2022 um 6:15 Uhr