画面利用可能領域(availWidth、availHeight)

screen.availWidth、screen.availHeight、availTop、availLeftがタスクバーやDockなどのOS要素を差し引いた使用可能な画面領域をどのように報告するかを学びます。

Viewport & Screen

詳細な説明

画面利用可能領域

screenオブジェクトはOS要素を除外した使用可能な表示領域を記述するプロパティを提供します。

プロパティ

プロパティ 説明
screen.availWidth OS UI(サイドのタスクバーなど)を除いた画面幅
screen.availHeight OS UI(macOSメニューバー+Dock)を除いた画面高さ
screen.availTop 使用可能領域のYオフセット
screen.availLeft 使用可能領域のXオフセット

ポップアップの配置

function openCenteredPopup(url, w, h) {
  const left = screen.availLeft + (screen.availWidth - w) / 2;
  const top = screen.availTop + (screen.availHeight - h) / 2;
  window.open(
    url, '_blank',
    'width=' + w + ',height=' + h + ',left=' + left + ',top=' + top
  );
}

マルチモニター環境

マルチモニター構成では、セカンダリモニターがプライマリの左側や上側に配置されている場合、availLeftavailTopが負の値になることがあります。

ユースケース

キオスクモードUIやポップアップウィンドウを構築するアプリケーション開発者は、OSタスクバーやDockと重ならないように要素を正しく配置するために利用可能な画面領域が必要です。

試してみる — Screen Info Display

フルツールを開く