javascriptのタップスクリーンについて
Q&A
Closed
解決したいこと
safariで画面がタップされた時にフルスクリーンにしたいです。
javascript初心者なのでどなたか教えてくれると嬉しいです。
ソースコード
<!DOCTYPE html>
<html lang="ja">
<body>
<div class="aa">
<h1>JavaScriptレシピ</h1>
<button id="button1">フルスクリーン表示</button>
<button id="button2">解除</button>
</div>
</body>
<script>
function full_screen() {
if (document.body.requestFullscreen) {
document.body.requestFullscreen();
} else if (document.body.mozRequestFullScreen) {
document.body.mozRequestFullScreen();
} else if (document.body.webkitRequestFullscreen) {
document.body.webkitRequestFullscreen();
} else if (document.body.msRequestFullscreen) {
document.body.msRequestFullscreen();
}
}
// ここから
document.getElementById("aa").addEventListener("touchstart", () => {
full_screen()
})
// ここまでを消す
window.addEventListener('load', function () {
// フルスクリーン表示
document.getElementById('button1').addEventListener('click', function () {
full_screen()
});
// フルスクリーン解除
document.getElementById('button2').addEventListener('click', function () {
// Chrome & Firefox v64以降
if (document.exitFullscreen) {
document.exitFullscreen();
// Firefox v63以前
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
// Safari & Edge & Chrome v44以前
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
// IE11
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
});
});
</script>
</html>
Chromeの開発ツールでこのように出ました。
test.html:69 Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
at test.html:69:34
自分で試したこと
32行目から34行目をコメントアウトするとボタンでフルスクリーンにすることができます。
参考リンク
https://gray-code.com/javascript/display-the-page-in-full-screen/
https://web-breeze.net/js-touch-event/