質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

3回答

4965閲覧

JavaScriptで全画面表示になる実装を行いたいです。

ryutaro0112

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2020/07/16 04:47

ポートフォリオ制作でJavaScriptで全画面表示になるように実装したのですが、うまくいきません。
そこで、全画面表示になるようなソースコードを教えてください宜しくお願い致します。

ちなみに、自分の試したソースコードが下記の通りです。

function toggleFullScreen() { var doc = window.document; var docEl = doc.documentElement; var requestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen; var cancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen; if(!doc.fullscreenElement && !doc.mozFullScreenElement && !doc.webkitFullscreenElement && !doc.msFullscreenElement) { requestFullScreen.call(docEl); } else { cancelFullScreen.call(doc); } } toggleFullScreen();

下記がエラーメッセージです。

Uncaught (in promise) TypeError: fullscreen error at toggleFullScreen

エラーメッセージでは、「requestFullScreen.call(docEl);」の「call(docE1);」で
赤線が引かれて、エラーメッセージが出てました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2020/07/16 05:14

環境を教えてください。
guest

回答3

0

MDNにのってました
https://developer.mozilla.org/ja/docs/Web/API/Document/exitFullscreen

html

1<body> 2 3</body> 4 5<script> 6 document.addEventListener("keydown",function(event){ 7 if(document.fullscreenElement){ 8 document.exitFullscreen() 9 }else{ 10 document.body.requestFullscreen() 11 } 12 }) 13 document.addEventListener("touchstart",function(event){ 14 if(document.fullscreenElement){ 15 document.exitFullscreen() 16 }else{ 17 document.body.requestFullscreen() 18 } 19 }) 20</script>

キーを押すか画面をたっちするかで全画面化及び解除できます
あとほかの方もいってるみたいですが request...()系のコードは EventListener の "keydown","click" とかを使わないと動作しないのが多いみたいですね。

投稿2021/10/01 09:54

編集2021/10/01 09:59
9nahito

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ユーザー操作(ボタンを押した)などから全画面になるようにしないとrequestFullScreen が拒否されるようです。(開いた瞬間に全画面にされるWebサイト、正直かなり嫌ですよね)

質問者さんのコードは、HTMLが開かれたときに全画面にしようとしているのでこの条件に当てはまります。
全画面にするコードは、ボタン押下などのユーザー操作から呼び出してください。

試したコードを貼っておきます。

html

1<!DOCTYPE html> 2<html> 3 <head> 4 <script> 5 function toggleFullScreen() { 6 var doc = window.document; 7 var docEl = doc.documentElement; 8 9 var requestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen; 10 var cancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen; 11 12 if(!doc.fullscreenElement && !doc.mozFullScreenElement && !doc.webkitFullscreenElement && !doc.msFullscreenElement) { 13 requestFullScreen.call(docEl); 14 } 15 else { 16 cancelFullScreen.call(doc); 17 } 18 } 19 20 // この呼び出しはユーザー操作によるものではないので必ず失敗する。 21 toggleFullScreen(); 22 </script> 23 </head> 24 <body> 25 <button onclick="toggleFullScreen()">fullscreen</button> 26 </body> 27</html> 28

投稿2020/07/16 06:19

YakumoSaki

総合スコア2027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryutaro0112

2020/07/16 06:21

ご回答の程ありがとうございます。 そうゆうことだったのですね! 上記のソースコードで試してみます。
guest

0

別の検索エンジンで開いてみましたか?
一応サイト乗っけておきます
https://developer.mozilla.org/ja/docs/Web/API/Element/requestFullScreen

投稿2020/07/16 04:50

編集2020/07/16 05:47
snowdropAPP

総合スコア41

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryutaro0112

2020/07/16 04:57

別の検索エンジンで開いてみましたが、おなじエラーメッセージがでます。
snowdropAPP

2020/07/16 05:43 編集

IEで開いた時とGoogleChromeで開いたときで表示されたり思っていた動きと違ったりするときありませんか? あとバージョンが最新でないと動かないとかもあるそうなので、、、 まあでもソースとエラーを見る限りはそんなエラーではなさそうなのですが一応念のためほかの検索エンジンでも開いてもらった次第です リンクの件はミスをしていましたご指摘ありがとうございます
snowdropAPP

2020/07/16 05:48

度重なるご指摘ありがとうございます。 検索エンジンはyahooやグーグルのことですね。。。 リンクの挿入のやり方まで感謝いたします
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問