Limited support 一部のブラウザのみ対応。使用時はサポート状況を確認すること。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
100
100
requestFullscreen (options screen parameter)
実験的

options.screen`パラメータ

100
100
permission_window-management
実験的

ウィンドウ管理`のパーミッション

111
111
change_event
実験的

change は Screen インターフェイスのイベントで、次のプロパティのうち 1 つ以上が変化したときに、特定の画面で発行されます。

100
100
100
isExtended
実験的

isExtended は Screen インターフェイスの読み取り専用プロパティで、ユーザーの端末が複数の画面を持っている場合は true、持っていない場合は false を返します。

100
100
100
availLeft
実験的

画面の左端から利用できる最初の有効ピクセルを返します。

100
100
availTop
実験的

固定あるいは半固定されているユーザーインターフェイス部分を含まない、最初のピクセルの Y 座標を示します。

100
100

ScreenDetailed インターフェイスの devicePixelRatio 読み取り専用プロパティは、画面のデバイス ピクセル比を表す数値です。

100
100
isInternal
実験的

ScreenDetailed インターフェイスの isInternal 読み取り専用プロパティは、画面がデバイスの内部であるか外部であるかを示すブール値です。 外部デバイスは通常、接続されているデバイスとは別に製造され、必要に応じて接続したり切断したりできますが、内部スクリーンはデバイスの一部であり、外部に接続することを目的としていません…

100
100
isPrimary
実験的

ScreenDetailed インターフェイスの isPrimary 読み取り専用プロパティは、画面がオペレーティング システム (OS) のプライマリ画面として設定されているかどうかを示すブール値です。

100
100
label
実験的

ScreenDetailed インターフェイスのラベル読み取り専用プロパティは、画面に説明的なラベルを提供する文字列です (たとえば、「内蔵 Retina ディスプレイ」)。

100
100
left
実験的

メイン画面の左端から現在の画面の左端までの距離をピクセル単位で返します。

100
100
top
実験的

現在の画面の上端からの距離をピクセル単位で返します。

100
100
ScreenDetails
実験的

Window Management API の ScreenDetails インターフェイスは、ユーザーのデバイスで利用できるすべての画面の詳細を表します。

100
100
currentScreen
実験的

ScreenDetails インターフェイスの currentScreen 読み取り専用プロパティには、現在のブラウザ ウィンドウが表示されている画面に関する詳細情報を表す単一の ScreenDetailed オブジェクトが含まれています。

100
100

ScreenDetails インターフェイスの currentscreenchange イベントは、ScreenDetails.currentScreen が次のいずれかの方法で変更されると発生します。

100
100
screens
実験的

ScreenDetails インターフェイスの読み取り専用スクリーン プロパティには、ScreenDetailed オブジェクトの配列が含まれており、各オブジェクトはユーザーのデバイスで利用できる 1 つの特定の画面に関する詳細情報を表します。

100
100

ScreenDetails インターフェイスの screenchange イベントは、システムで利用できる画面のセットが変更されたとき、つまり、新しい画面が利用可能になったとき、または既存の画面が利用できなくなったときに発生します。 これは、ScreenDetails.screens 配列の変更に反映されます。

100
100

Window インターフェイスの getScreenDetails() メソッドは、ユーザーのデバイスで利用できるすべての画面の詳細を表す ScreenDetails オブジェクトインスタンスで満たされる Promise を返します。

100
100
100
moveTo (relative-multi-screen)

マルチスクリーンの原点に対して相対的に移動

100
100
1
1
100
1
open (relative-multi-screen)

マルチスクリーンの原点を基準に開く

100
100
1
1
100
1
screenLeft (relative-multi-screen)

マルチスクリーンの原点

100
100
64
1
100
1
screenTop (relative-multi-screen)

マルチスクリーンの原点

100
100
64
1
100
1
screenX (relative-multi-screen)

マルチスクリーンの原点

100
100
1
1
100
1
screenY (relative-multi-screen)

マルチスクリーンの原点

100
100
64
1
100
1
その他
html.elements.iframe.allow.window-management
実験的
100
100
100

HTTP の Permissions-Policy ヘッダーにおける window-management ディレクティブは、現在の文書がウィンドウ管理 API を使用して複数のディスプレイ上のウィンドウを管理することを許可するかどうかを制御します。

100
100
100
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 1件
実装メモ
  • window-management`パーミッションがないと、マルチスクリーン座標が使われるが、ウィンドウは既存のディスプレイに固定される。
注釈 1件
実装メモ
  • window-management`パーミッションがないと、マルチスクリーン座標が使われるが、ウィンドウは既存のディスプレイに固定される。
注釈 1件
実装メモ
  • マルチスクリーン座標が使用されるが、ウィンドウは既存のディスプレイに固定される。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 1件
実装メモ
  • window-management`パーミッションがないと、マルチスクリーン座標が使われるが、ウィンドウは既存のディスプレイに固定される。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 1件
実装メモ
  • window-management`パーミッションがないと、マルチスクリーン座標が使われるが、ウィンドウは既存のディスプレイに固定される。
注釈 1件
実装メモ
  • window-management`パーミッションがないと、マルチスクリーン座標が使われるが、ウィンドウは既存のディスプレイに固定される。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 1件
実装メモ
  • window-management`パーミッションがないと、マルチスクリーン座標が使われるが、ウィンドウは既存のディスプレイに固定される。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 使用している座標原点に一貫性がない。

基本構文

JAVASCRIPT
const screenDetails = await window.getScreenDetails();
for (const screen of screenDetails.screens) {
  console.log(screen.label, screen.width, 'x', screen.height);
}
// Open a window on a specific screen
window.open('/dashboard', '_blank',
  `left=${screenDetails.screens[1].left},top=0,width=800,height=600`);

実務での使いどころ

  • Window management の活用

    Experimental: これは実験的な機能です。

注意点

  • 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。

アクセシビリティ

  • スクリーンリーダーでの読み上げを確認すること。