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

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

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

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

Q&A

2回答

485閲覧

JavaScript screen.width screen.height

qwrs

総合スコア2

JavaScript

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

0グッド

0クリップ

投稿2021/07/08 06:29

screen.widthとscreen.heightが変動することはあるのでしょうか
デバイスの高さと幅を取得するものだと思いますが、
これはPCの設定うんぬんで変動するものでしょうか

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

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

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

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

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

m.ts10806

2021/07/08 06:41

疑問の出どころと、用途は何でしょうか 自身で確かめたり調べたりしましたか?
m.ts10806

2021/07/08 06:44

自身のPCで検証するとしても5分もかからないと思います。
qwrs

2021/07/08 06:48

何が言いたいのでしょう ここは質問するところであり、自分で結果を出せていたとしたら 質問などしていません あなたは色んな方の質問に対し、水を差すようなことばかりしていることで有名な方のようですね
qwrs

2021/07/08 06:51

このやり取りが解決につながるわけもないので以降追記しないでください
qwrs

2021/07/08 06:55 編集

>自身のPCで検証するとしても5分もかからないと思います。 この指摘と >疑問の出どころと、用途は何でしょうか 自身で確かめたり調べたりしましたか? この指摘の用途まで関係してるか、謎ですよね よほど暇なんでしょうが こちらは忙しいのですよ
m.ts10806

2021/07/08 06:58

忙しいから丸投げしていい理由にはなりません。 見ているのは赤の他人。 何も書いてなければ何も調べず試さず丸投げしているということになります。 自身が他者への配慮全くなしの投稿をしておきながら水を差すだの暇だの言える立場ではないですよ。 確認の仕方がわからないなら質問にそのように書けばよいですし、何か試して分からないならそれも書かないと誰にも伝わりません。
m.ts10806

2021/07/08 07:08 編集

ちゃんとアドバイスを得たいのでしたら質問テンプレートを利用するか、「質問するときのヒント」にあわせた質問をすることを強くすすめます。 言葉を借りると、忙しいので丸投げ質問にかまってる暇はないのですよ。 だからそういう質問には回答しない。回答したところで質問者の横暴から徒労に終わることが多いから。 そうでない質問、追記修正依頼に応えてくれる質問者にはちゃんと回答してますし、回答も付きやすい。 今回は一発目の反応から面倒な質問者と認識されてると思います。 試せばわかること(試した雰囲気全くなしで)を投げる質問者は大体避けられてますね。 ではでは。
Lhankor_Mhy

2021/07/08 07:24 編集

うーん、m.ts10806さんのおっしゃることもわかるのですが。 「試してみたところ変動した」なら「変動する」と結論が出るのですが、そうではなくて「試してみたところ変動しなかった」の場合は「変動しない」とは結論できないような気がします。 「これは変動しないものなのか(変動するとしたらどういう時か)」というご質問かと読みました。 「試してみたところ変動しなかったのですが、仕様ではどうなっていますか?」のような質問にすれば、誤解を防げたかもしれませんね。 (仕様がどうなっているかについては、試しただけでは確認できないので)
Lhankor_Mhy

2021/07/08 07:25

そして、仕様を見てみたところ、???という内容でした。ちょっと調べてみますね。
guest

回答2

0

結論から先に書きますが、私見ですが、あまり深く突っ込まない方が無難かも、と感じています。


Window.screen.width等については、CSSOMに仕様がありました。

The width attribute must return the width of the Web-exposed screen area.

CSSOM View Module

Web-exposed screen areaを見てみると、

The Web-exposed screen area is one of the following:
The area of the output device, in CSS pixels.
The area of the viewport, in CSS pixels.
CSSOM View Module

とあり、「なんで二つあるんだよ……」とウンザリしますね。


さて、このviewportですが、CSSに仕様があります。

This specification introduces a way of overriding the size of the viewport provided by the user agent (UA). Because of this, we need to introduce the difference between the initial viewport and the actual viewport.

CSS Device Adaptation Module Level 1

つまり、UAがオーバーライドすることができる、ということです。ですので、開発者ツールのレスポンシブモードや、metaタグのviewport設定などによって変化するだろう、と思われます。
(確認はしていません)


ところで、ここにISSUEがついていて、

"dbaron: The question is, what does this do on the desktop browser? (And what’s a desktop browser)". Need to say that a "desktop" browser typically have no UA styles, as opposed to the UA stylesheet outlined for current mobile behaviour, and that no UA styles for @viewport will give "desktop" behaviour per default (actual viewport is initial viewport).

CSS Device Adaptation Module Level 1

となっており、PCブラウザでの動作が未定っぽいです。


また、このようなISSUEもありました。

[cssom-view] should screen.width and screen.height reflect orientation? · Issue #5204 · w3c/csswg-drafts · GitHub

デバイスの向きによってWeb-exposed screen areaが変化するのかしないのか、UAによって違う動作をするようです。


どうやら「viewportの上書きがあるならviewport、ないならデバイスの出力エリアになるが、最終的にはUA次第」なのではないかな、と思います。そして、デバイスによってかなり揺れがあるのではないかな、と思いました。

というわけで、最初の結論になります。

投稿2021/07/08 09:48

Lhankor_Mhy

総合スコア36960

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

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

0

Window.screen - Web API | MDN
とある通り、ブラウザが認識しているスクリーンのサイズみたいですね。

ブラウザにもよるかもしれませんが、 Microsoft Edge (Chromium) だと、次の変更で変更されることを確認しました。(Windows10 21H1)

  • F12 から デバイスエミュレーション の切り替え によるエミュレートデバイスの切り替え
  • マルチディスプレイ間の移動
  • 設定 > ディスプレイ > 拡大縮小とレイアウト > テキスト、アプリ、その他の項目のサイズを変更する による変更(%)

投稿2021/07/08 07:44

編集2021/07/08 07:45
juner

総合スコア534

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問