現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

ウィンドウ

【JavaScript入門】innerWidth・innerHeight・outerWidth・outerHeightの使い方|ウィンドウサイズの取得・設定方法を解説

投稿日:2019年5月11日 更新日:

JavaScriptのinnerWidth・innerHeight・outerWidth・outerHeightとは?ウィンドウサイズの取得・設定方法を解説

innerWidthinnerHeightouterWidthouterHeight は、
ブラウザウィンドウのサイズを参照・設定するためのプロパティです。
表示領域のサイズやウィンドウ全体のサイズを取得したいときに利用します。



4つのプロパティの違い

ウィンドウサイズには「内側(表示領域)」と「外側(ウィンドウ全体)」の2種類があります。

  • innerWidth:ウィンドウ内側(表示領域)の幅
  • innerHeight:ウィンドウ内側(表示領域)の高さ
  • outerWidth:ウィンドウ外側(枠やバーを含む全体)の幅
  • outerHeight:ウィンドウ外側(枠やバーを含む全体)の高さ

値はすべてピクセル単位で扱います。

※ Internet Explorer では正しく動作しないため、サイズ変更には resizeTo()resizeBy() の使用が推奨されます。



使用例:内側のサイズを取得する

let iw = innerWidth;
let ih = innerHeight;

→ 現在のウィンドウの表示領域の幅と高さが変数に代入されます。

使用例:外側のサイズを取得する

document.write(“<em>ウィンドウの外側の幅:” + outerWidth + “</em>”);

→ ウィンドウ全体の幅を画面に表示します。

使用例:外側のサイズを設定する

outerHeight = 480;

→ ウィンドウ全体の高さを 480px に変更します。

inner / outer の違いを図解イメージで理解

  • inner:実際にページが表示される領域(コンテンツ部分)
  • outer:タイトルバー・ツールバー・枠などを含むウィンドウ全体

ブラウザによって枠の大きさが異なるため、
inner と outer の差は環境によって変わります。



まとめ

  • innerWidth / innerHeight:表示領域のサイズ
  • outerWidth / outerHeight:ウィンドウ全体のサイズ
  • 値はピクセル単位で扱う
  • IEでは非対応のため、サイズ変更は resizeTo() / resizeBy() が安全

関連リンク

-ウィンドウ
-

執筆者:

関連記事

【JavaScript入門】window.moveTo・moveByの使い方|ウィンドウ位置を絶対・相対で移動する方法を解説

JavaScriptのwindow.moveTo・moveByとは?ウィンドウ位置を移動する方法を初心者向けに解説 window.moveTo() と window.moveBy() は、ブラウザウィ …

【JavaScript入門】back・forward・home・print・stop・findの使い方|ブラウザ操作メソッドをわかりやすく解説

JavaScriptのback・forward・home・print・stop・findとは?ブラウザ操作メソッドを初心者向けに解説 JavaScript には、ブラウザの「戻る」「進む」「印刷」など …

【JavaScript入門】window.scrollToの使い方|指定位置へスクロールする方法を初心者向けに解説

JavaScriptのwindow.scrollToとは?指定位置へスクロールする方法を初心者向けに解説 window.scrollTo() は、ページを指定した座標位置までスクロールさせるためのメソ …

【JavaScript入門】window.closeの使い方|ウィンドウを閉じる方法と注意点を初心者向けに解説

JavaScriptのwindow.closeとは?ウィンドウを閉じる方法と注意点を初心者向けに解説 window.close() は、指定したウィンドウ、または自分自身のウィンドウを閉じるためのメソ …

【JavaScript入門】pageXOffset・pageYOffsetとは?現在のスクロール位置を取得・設定する方法を解説

JavaScriptのpageXOffset・pageYOffsetとは?現在のスクロール位置を取得・設定する方法を解説 pageXOffset と pageYOffset は、ページがどれだけスクロ …