更新日: 2026-09-25 robots: noindex
説明
chrome.windows API を使用してブラウザ ウィンドウを操作します。この API を使用して、ブラウザでウィンドウを作成、変更、再配置できます。
マニフェスト
リクエストされると、windows.Window には tabs.Tab オブジェクトの配列が含まれます。tabs.Tab の url、pendingUrl、title、favIconUrl プロパティにアクセスする必要がある場合は、マニフェストで "tabs" 権限を宣言する必要があります。次に例を示します。
{
"name": "My extension",
...
"permissions": ["tabs"],
...
}
現在のウィンドウ
拡張機能システムの多くの関数は、オプションの windowId 引数を取ります。この引数のデフォルトは現在のウィンドウです。
現在のウィンドウは、現在実行中のコードを含むウィンドウです。これは、最前面のウィンドウやフォーカスされたウィンドウとは異なる場合があることに注意してください。
たとえば、拡張機能が 1 つの HTML ファイルからいくつかのタブまたはウィンドウを作成し、その HTML ファイルに tabs.query() の呼び出しが含まれているとします。現在のウィンドウとは、最上位のウィンドウが何であるかにかかわらず、呼び出しを行ったページを含むウィンドウです。
Service Worker の場合、現在のウィンドウの値は、最後にアクティブだったウィンドウにフォールバックします。状況によっては、バックグラウンド ページに現在のウィンドウがない場合があります。
例

この API を試すには、chrome-extension-samples リポジトリから windows API の例をインストールします。
型
CreateType
作成するブラウザ ウィンドウの種類を指定します。「panel」は非推奨であり、ChromeOS の既存の許可リストに登録されている拡張機能でのみ使用できます。
列挙型
"normal"
ウィンドウを標準ウィンドウとして指定します。
"popup"
ウィンドウをポップアップ ウィンドウとして指定します。
"panel"
ウィンドウをパネルとして指定します。
QueryOptions
プロパティ
-
入力
boolean 省略可
true の場合、
windows.Windowオブジェクトには、tabs.Tabオブジェクトのリストを含むtabsプロパティがあります。Tabオブジェクトにurl、pendingUrl、title、favIconUrlプロパティが含まれるのは、拡張機能のマニフェスト ファイルに"tabs"権限が含まれている場合のみです。 -
windowTypes
WindowType[] 省略可
設定すると、返される
windows.Windowはそのタイプに基づいてフィルタされます。設定されていない場合、デフォルトのフィルタは['normal', 'popup']に設定されます。
Window
プロパティ
-
alwaysOnTop
ブール値
ウィンドウを常に最前面に表示するかどうか。
-
手厚い支援
ブール値
ウィンドウが現在フォーカスされているウィンドウかどうか。
-
height
number 省略可
ウィンドウの高さ(フレームを含む、ピクセル単位)。状況によっては、ウィンドウに
heightプロパティが割り当てられないことがあります。たとえば、sessionsAPI から閉じられたウィンドウをクエリする場合などです。 -
id
number 省略可
ウィンドウの ID。ウィンドウ ID はブラウザ セッション内で一意です。状況によっては、ウィンドウに
IDプロパティが割り当てられないことがあります。たとえば、sessionsAPI を使用してウィンドウをクエリする場合、セッション ID が存在する可能性があります。 -
シークレット
ブール値
ウィンドウがシークレット モードかどうか。
-
左
number 省略可
画面の左端からのウィンドウのオフセット(ピクセル単位)。状況によっては、ウィンドウに
leftプロパティが割り当てられないことがあります。たとえば、sessionsAPI から閉じられたウィンドウをクエリする場合などです。 -
sessionId
文字列 省略可
ウィンドウを一意に識別するために使用されるセッション ID。
sessionsAPI から取得されます。 -
state
WindowState 省略可
このブラウザ ウィンドウの状態。
-
tabs
Tab[] 省略可
ウィンドウ内の現在のタブを表す
tabs.Tabオブジェクトの配列。 -
上
number 省略可
画面の上端からのウィンドウのオフセット(ピクセル単位)。状況によっては、ウィンドウに
topプロパティが割り当てられないことがあります。たとえば、sessionsAPI から閉じられたウィンドウをクエリする場合などです。 -
type
WindowType 省略可
ブラウザ ウィンドウのタイプ。
-
width
number 省略可
ウィンドウの幅(フレームを含む、ピクセル単位)。状況によっては、ウィンドウに
widthプロパティが割り当てられないことがあります。たとえば、sessionsAPI から閉じられたウィンドウをクエリする場合などです。
WindowState
このブラウザ ウィンドウの状態。状況によっては、ウィンドウに state プロパティが割り当てられないことがあります。たとえば、sessions API から閉じられたウィンドウをクエリする場合などです。
列挙型
"normal"
通常のウィンドウ状態(最小化、最大化、全画面表示ではない)。
"minimized"
最小化されたウィンドウの状態。
"maximized"
最大化されたウィンドウの状態。
"fullscreen"
全画面表示のウィンドウ状態。
WindowType
ブラウザ ウィンドウのタイプ。状況によっては、ウィンドウに type プロパティが割り当てられない場合があります。たとえば、sessions API から閉じられたウィンドウをクエリする場合などです。
列挙型
"normal"
通常のブラウザ ウィンドウ。
"popup"
ブラウザのポップアップ。
"panel"
この API では非推奨。Chrome アプリのパネルスタイルのウィンドウ。拡張機能は、自身のパネル ウィンドウのみを表示できます。
"app"
この API では非推奨。Chrome アプリ ウィンドウ。拡張機能は、自身のアプリのウィンドウのみを表示できます。
"devtools"
デベロッパー ツール ウィンドウ。
プロパティ
WINDOW_ID_CURRENT
現在のウィンドウを表す windowId 値。
値
-2
WINDOW_ID_NONE
Chrome ブラウザ ウィンドウがないことを表す windowId 値。
値
-1
メソッド
create()
chrome.windows.create(
createData?: object,
callback?: function,
): Promise<Window | undefined>
オプションのサイズ、位置、デフォルトの URL を指定して、新しいブラウザ ウィンドウを作成(オープン)します。
パラメータ
-
createData
オブジェクト(省略可)
-
手厚い支援
boolean 省略可
trueの場合、アクティブなウィンドウを開きます。falseの場合、非アクティブなウィンドウを開きます。 -
height
number 省略可
新しいウィンドウの高さ(ピクセル単位、フレームを含む)。指定しない場合、デフォルトで自然な高さになります。
-
シークレット
boolean 省略可
新しいウィンドウをシークレット ウィンドウにするかどうか。
-
左
number 省略可
画面の左端から新しいウィンドウを配置するピクセル数。指定しない場合、新しいウィンドウは、最後にフォーカスされたウィンドウから自然にオフセットされます。この値はパネルでは無視されます。
-
setSelfAsOpener
boolean 省略可
Chrome 64 以降trueの場合、新しく作成されたウィンドウの「window.opener」は呼び出し元に設定され、呼び出し元と同じ関連するブラウジング コンテキストの単位にあります。 -
state
WindowState 省略可
Chrome 44 以降ウィンドウの初期状態。
minimized、maximized、fullscreenの状態をleft、top、width、heightと組み合わせることはできません。 -
tabId
number 省略可
新しいウィンドウに追加するタブの ID。
-
上
number 省略可
画面の上端から新しいウィンドウを配置する位置までのピクセル数。指定しない場合、新しいウィンドウは、最後にフォーカスされたウィンドウから自然にオフセットされます。この値はパネルでは無視されます。
-
type
CreateType 省略可
作成するブラウザ ウィンドウのタイプを指定します。
-
URL
string | string[] 省略可
ウィンドウでタブとして開く URL または URL の配列。完全修飾 URL には、スキームを含める必要があります(例: 「www.google.com」ではなく「http://www.google.com」)。完全修飾 URL ではない URL は、拡張機能内で相対 URL と見なされます。デフォルトは新しいタブページです。
-
width
number 省略可
新しいウィンドウの幅(ピクセル単位、フレームを含む)。指定しない場合、デフォルトで自然な幅になります。
-
-
callback
function 省略可
callbackパラメータは次のようになります。(window?: Window) => void
-
窓
Window 省略可
作成されたウィンドウの詳細が含まれます。
-
戻り値
-
Promise<Window | undefined>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
ウィンドウの詳細を取得します。
パラメータ
-
windowId
数値
-
queryOptions
QueryOptions 省略可
Chrome 88 以降 -
callback
function 省略可
callbackパラメータは次のようになります。(window: Window) => void
-
窓
-
戻り値
-
Promise<Window>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window[]>
すべてのウィンドウを取得します。
パラメータ
-
queryOptions
QueryOptions 省略可
Chrome 88 以降 -
callback
function 省略可
callbackパラメータは次のようになります。(windows: Window[]) => void
-
窓
Window[]
-
戻り値
-
Promise<Window[]>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
現在のウィンドウを取得します。
パラメータ
-
queryOptions
QueryOptions 省略可
Chrome 88 以降 -
callback
function 省略可
callbackパラメータは次のようになります。(window: Window) => void
-
窓
-
戻り値
-
Promise<Window>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
最後にフォーカスされたウィンドウ(通常は「最前面」のウィンドウ)を取得します。
パラメータ
-
queryOptions
QueryOptions 省略可
Chrome 88 以降 -
callback
function 省略可
callbackパラメータは次のようになります。(window: Window) => void
-
窓
-
戻り値
-
Promise<Window>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
): Promise<void>
ウィンドウとその中のすべてのタブを削除(終了)します。
パラメータ
-
windowId
数値
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
): Promise<Window>
ウィンドウのプロパティを更新します。変更するプロパティのみを指定します。指定されていないプロパティは変更されません。
パラメータ
-
windowId
数値
-
updateInfo
オブジェクト
-
drawAttention
boolean 省略可
trueの場合、フォーカスされているウィンドウを変更せずに、ユーザーの注意をウィンドウに引き付ける方法でウィンドウが表示されます。この効果は、ユーザーがウィンドウにフォーカスを切り替えるまで持続します。ウィンドウにすでにフォーカスがある場合、このオプションは効果がありません。以前のdrawAttentionリクエストをキャンセルするには、falseに設定します。 -
手厚い支援
boolean 省略可
trueの場合、ウィンドウを前面に表示します。状態「minimized」と組み合わせることはできません。falseの場合、Z オーダーの次のウィンドウを前面に表示します。状態「fullscreen」または「maximized」と組み合わせることはできません。 -
height
number 省略可
ウィンドウのサイズ変更後の高さ(ピクセル単位)。この値はパネルでは無視されます。
-
左
number 省略可
ウィンドウを移動する画面の左端からのオフセット(ピクセル単位)。この値はパネルでは無視されます。
-
state
WindowState 省略可
ウィンドウの新しい状態。「minimized」、「maximized」、「fullscreen」の状態を「left」、「top」、「width」、「height」と組み合わせることはできません。
-
上
number 省略可
ウィンドウを移動する画面の上端からのオフセット(ピクセル単位)。この値はパネルでは無視されます。
-
width
number 省略可
ウィンドウのサイズ変更後の幅(ピクセル単位)。この値はパネルでは無視されます。
-
-
callback
function 省略可
callbackパラメータは次のようになります。(window: Window) => void
-
窓
-
戻り値
-
Promise<Window>
Chrome 88 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
イベント
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
ウィンドウのサイズが変更されたときに呼び出されます。このイベントは、新しい境界が commit されたときにのみディスパッチされ、進行中の変更に対してはディスパッチされません。
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
ウィンドウが作成されたときに呼び出されます。
パラメータ
-
callback
関数
Chrome 46 以降callbackパラメータは次のようになります。(window: Window) => void
-
窓
作成されたウィンドウの詳細。
-
-
フィルタ
オブジェクト(省略可)
-
windowTypes
作成されるウィンドウのタイプが満たす必要がある条件。デフォルトでは
['normal', 'popup']を満たします。
-
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
現在フォーカスされているウィンドウが変更されたときに呼び出されます。すべての Chrome ウィンドウがフォーカスを失った場合は chrome.windows.WINDOW_ID_NONE を返します。注: 一部の Linux ウィンドウ マネージャーでは、Chrome ウィンドウの切り替え直前に WINDOW_ID_NONE が常に送信されます。
パラメータ
-
callback
関数
Chrome 46 以降callbackパラメータは次のようになります。(windowId: number) => void
-
windowId
数値
新しくフォーカスされたウィンドウの ID。
-
-
フィルタ
オブジェクト(省略可)
-
windowTypes
削除されるウィンドウのタイプが満たす必要がある条件。デフォルトでは
['normal', 'popup']を満たします。
-
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
ウィンドウが削除(終了)されたときに呼び出されます。
パラメータ
-
callback
関数
Chrome 46 以降callbackパラメータは次のようになります。(windowId: number) => void
-
windowId
数値
削除されたウィンドウの ID。
-
-
フィルタ
オブジェクト(省略可)
-
windowTypes
削除されるウィンドウのタイプが満たす必要がある条件。デフォルトでは
['normal', 'popup']を満たします。
-