Я исследовал создание объектов в полноэкранном режиме и не могу понять, почему вокруг холста есть черные поля, когда я вызываю requestFullscreen. Почему существуют поля и как я должен исправить свой код, чтобы холст действительно покрывал весь экран, когда я вызываю requestFullscreen?
var c = document.getElementById("myCanvas");
c.width = window.innerWidth;
c.height = window.innerHeight;
var ctx = c.getContext("2d");
ctx.fillStyle = "#00FF00";
ctx.fillRect(0, 0, c.width, c.height);
var elem = document.getElementById("myCanvas");
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();
}
}
function closeFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
* {
margin: 0;
padding: 0;
}
/* to remove the top and left whitespace */
html,
body {
width: 100%;
height: 100%;
}
/* just to be sure these are full screen*/
<canvas id="myCanvas"></canvas>
<button onclick="openFullscreen();">Open Fullscreen</button>
<button onclick="closeFullscreen();">Close Fullscreen</button>