chrome.windows

説明

chrome.windows API を使用してブラウザ ウィンドウを操作します。この API を使用すると、ブラウザのウィンドウの作成、変更、並べ替えを行うことができます。

権限

リクエストされると、windows.Window には tabs.Tab オブジェクトの配列が含まれます。必要なこと url にアクセスする必要がある場合は、マニフェスト"tabs" 権限を宣言します。 pendingUrltitle、または tabs.TabfavIconUrl プロパティ。例:

{
  "name": "My extension",
  ...
  "permissions": ["tabs"],
  ...
}

コンセプトと使用方法

現在のウィンドウ

拡張機能システムの多くの関数は、オプションの windowId 引数を取ります。 クリックします。

現在のウィンドウは、現在実行中のコードを含むウィンドウです。です。 最前面のウィンドウやフォーカスされているウィンドウとは異なる場合があることを覚えておいてください。

たとえば、ある拡張機能が 1 つの HTML ファイルからいくつかのタブまたはウィンドウを作成し、 HTML ファイルに tabs.query() の呼び出しが含まれている。現在のウィンドウは、トレーニング データの 最上部のウィンドウが何であれ 呼び出しを行ったページ

Service Worker の場合、現在のウィンドウの値は最後にアクティブだった時点にフォールバックします。 クリックします。状況によっては、現在バックグラウンド ページのウィンドウが表示されないことがあります。

この API を試すには、chrome-extension-samples から Windows API の例をインストールしてください。 できます。

<ph type="x-smartling-placeholder">
</ph> それぞれに 1 つのタブがある 2 つのウィンドウ
それぞれに 1 つのタブがある 2 つのウィンドウ

CreateType

Chrome 44 以降

作成するブラウザ ウィンドウのタイプを指定します。「panel」はサポートが終了し、ChromeOS の許可リストに登録済みの既存の拡張機能でのみ利用できます。

列挙型

"normal"
標準ウィンドウとしてウィンドウを指定します。

"popup"
ウィンドウをポップアップ ウィンドウとして指定します。

"panel"
ウィンドウをパネルとして指定します。

QueryOptions

Chrome 88 以降

プロパティ

  • 入力

    ブール値(省略可)

    true の場合、windows.Window オブジェクトは、tabs.Tab オブジェクトのリストを含む tabs プロパティを持ちます。拡張機能のマニフェスト ファイルに "tabs" 権限が含まれている場合、Tab オブジェクトには urlpendingUrltitlefavIconUrl プロパティのみが含まれます。

  • windowTypes

    WindowType[] 省略可

    設定すると、返される windows.Window はその型に基づいてフィルタされます。設定しない場合、デフォルトのフィルタは ['normal', 'popup'] に設定されます。

Window

プロパティ

  • alwaysOnTop

    ブール値

    ウィンドウが常に最前面に表示されるよう設定されているかどうか。

  • 手厚い支援

    ブール値

    ウィンドウが現在フォーカスされているウィンドウであるかどうか。

  • height

    数値(省略可)

    フレームを含むウィンドウの高さ(ピクセル単位)。状況によっては、ウィンドウに height プロパティが割り当てられないことがあります。たとえば、閉じたウィンドウを sessions API からクエリする場合などです。

  • id

    数値(省略可)

    ウィンドウの ID。ウィンドウ ID はブラウザ セッション内で一意です。状況によっては、ウィンドウに ID プロパティが割り当てられないことがあります。たとえば、sessions API を使用してウィンドウをクエリする場合、セッション ID が存在することがあります。

  • シークレット モード

    ブール値

    ウィンドウがシークレット モードかどうか。

  • 数値(省略可)

    画面の左端からのウィンドウのオフセット(ピクセル単位)。状況によっては、ウィンドウに left プロパティが割り当てられないことがあります。たとえば、閉じたウィンドウを sessions API からクエリする場合などです。

  • sessionId

    文字列(省略可)

    ウィンドウを一意に識別するために使用されるセッション ID。sessions API から取得されます。

  • state

    WindowState (省略可)

    このブラウザ ウィンドウの状態です。

  • タブ

    タブ [] (省略可)

    ウィンドウ内の現在のタブを表す tabs.Tab オブジェクトの配列。

  • 数値(省略可)

    画面の上端からのウィンドウのオフセット(ピクセル単位)。状況によっては、ウィンドウに top プロパティが割り当てられないことがあります。たとえば、閉じたウィンドウを sessions API からクエリする場合などです。

  • type

    WindowType省略可

    ブラウザ ウィンドウのタイプです。

  • 数値(省略可)

    フレームを含むウィンドウの幅(ピクセル単位)。状況によっては、ウィンドウに width プロパティが割り当てられないことがあります。たとえば、閉じたウィンドウを sessions API からクエリする場合などです。

WindowState

Chrome 44 以降

このブラウザ ウィンドウの状態です。状況によっては、ウィンドウに state プロパティが割り当てられないことがあります。たとえば、閉じたウィンドウを sessions API からクエリする場合などです。

列挙型

"normal"
通常のウィンドウ状態(最小化、最大化、全画面表示ではない)。

"minimized"
最小化されたウィンドウ状態。

"maximized"
最大化されたウィンドウ状態。

"fullscreen"
全画面のウィンドウ状態。

"locked-fullscreen"
ロックされた全画面ウィンドウの状態。この全画面表示状態は、ユーザーの操作で終了することはできません。この状態は、ChromeOS の許可リストに登録された拡張機能でのみ利用できます。

WindowType

Chrome 44 以降

ブラウザ ウィンドウのタイプです。状況によっては、ウィンドウに type プロパティが割り当てられないことがあります。たとえば、閉じたウィンドウを sessions API からクエリする場合などです。

列挙型

"normal"
通常のブラウザ ウィンドウ

"popup"
ブラウザのポップアップ。

"panel"
この API では非推奨。Chrome アプリパネル形式のウィンドウ。拡張機能は自身のパネル ウィンドウのみを表示できます。

"app"
この API では非推奨。Chrome アプリ ウィンドウ。拡張機能は自身のアプリ自身のウィンドウのみを表示できます。

"devtools"
デベロッパー ツール ウィンドウ

プロパティ

WINDOW_ID_CURRENT

現在のウィンドウを表す windowId 値。

-2

WINDOW_ID_NONE

Chrome ブラウザ ウィンドウがないことを表す windowId 値。

-1

メソッド

create()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.create(
  createData?: object,
  callback?: function,
)

任意のサイズ設定、位置、指定されたデフォルトの URL を指定して新しいブラウザ ウィンドウを作成します(開きます)。

パラメータ

  • createData

    オブジェクト(省略可)

    • 手厚い支援

      ブール値(省略可)

      true の場合、アクティブなウィンドウを開きます。false の場合、アクティブでないウィンドウを開きます。

    • height

      数値(省略可)

      フレームを含む新しいウィンドウの高さ(ピクセル単位)。指定しない場合、デフォルトで自然な高さになります。

    • シークレット モード

      ブール値(省略可)

      新しいウィンドウをシークレット ウィンドウにするかどうかを指定します。

    • 数値(省略可)

      画面の左端から新しいウィンドウを配置するピクセル数です。指定しない場合、新しいウィンドウは最後にフォーカスされたウィンドウから自然にオフセットされます。この値はパネルでは無視されます。

    • setSelfAsOpener

      ブール値(省略可)

      Chrome 64 以降

      true の場合、新しく作成されたウィンドウの「window.opener」呼び出し元に設定され、呼び出し元と同じ関連するブラウジング コンテキストの単位にある。

    • state

      WindowState (省略可)

      Chrome 44 以降

      ウィンドウの初期状態。minimizedmaximizedfullscreen の状態を、lefttopwidthheight と組み合わせることはできません。

    • tabId

      数値(省略可)

      新しいウィンドウに追加するタブの ID。

    • 数値(省略可)

      画面の上端から新しいウィンドウを配置するピクセル数です。指定しない場合、新しいウィンドウは最後にフォーカスされたウィンドウから自然にオフセットされます。この値はパネルでは無視されます。

    • type

      CreateType省略可

      作成するブラウザ ウィンドウのタイプを指定します。

    • URL

      string |文字列 [] 省略可

      ウィンドウにタブとして開く URL または URL の配列。完全修飾 URL にはスキームを含める必要があります(例:「www.google.com」ではなく「http://www.google.com」とします。完全修飾でない URL は、拡張機能内では相対 URL と見なされます。デフォルトは新しいタブページです。

    • 数値(省略可)

      新しいウィンドウの幅(フレームを含む)。指定しない場合、デフォルトで自然な幅になります。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (window?: Window) => void

    • 計測期間 (省略可)

      作成されたウィンドウの詳細が含まれます。

戻り値

  • Promise&lt;Window |未定義>

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

get()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
  callback?: function,
)

ウィンドウの詳細を取得します。

パラメータ

  • windowId

    数値

  • queryOptions

    QueryOptions(省略可)

    Chrome 88 以降
  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (window: Window) => void

戻り値

  • Promise&lt;Window&gt;

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getAll()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.getAll(
  queryOptions?: QueryOptions,
  callback?: function,
)

すべてのウィンドウを取得します。

パラメータ

  • queryOptions

    QueryOptions(省略可)

    Chrome 88 以降
  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (windows: Window[]) => void

戻り値

  • Promise&lt;Window[]&gt;

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getCurrent()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
  callback?: function,
)

現在のウィンドウを取得します。

パラメータ

  • queryOptions

    QueryOptions(省略可)

    Chrome 88 以降
  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (window: Window) => void

戻り値

  • Promise&lt;Window&gt;

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getLastFocused()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
  callback?: function,
)

最後にフォーカスされたウィンドウを取得します。通常は、そのウィンドウが「最前面」のウィンドウです。

パラメータ

  • queryOptions

    QueryOptions(省略可)

    Chrome 88 以降
  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (window: Window) => void

戻り値

  • Promise&lt;Window&gt;

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

remove()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.remove(
  windowId: number,
  callback?: function,
)

ウィンドウとウィンドウ内のすべてのタブを削除(閉じます)します。

パラメータ

  • windowId

    数値

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

update()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.windows.update(
  windowId: number,
  updateInfo: object,
  callback?: function,
)

ウィンドウのプロパティを更新します。変更するプロパティのみを指定します。指定されていないプロパティは変更されません。

パラメータ

  • windowId

    数値

  • updateInfo

    オブジェクト

    • drawAttention

      ブール値(省略可)

      true の場合、フォーカスされているウィンドウを変更することなく、ユーザーの注意をウィンドウに引き付ける方法でウィンドウが表示されます。この効果は、ユーザーがウィンドウにフォーカスを変更するまで継続します。ウィンドウにすでにフォーカスがある場合、このオプションは無効です。前の drawAttention リクエストをキャンセルするには、false に設定します。

    • 手厚い支援

      ブール値(省略可)

      true の場合、ウィンドウを前面に移動します。「最小化」状態と組み合わせることはできません。false の場合、Z オーダーの次のウィンドウを前面に移動します。「fullscreen」状態と組み合わせることはできません「maximized」です。

    • height

      数値(省略可)

      ウィンドウをサイズ変更する際の高さ(ピクセル単位)。この値はパネルでは無視されます。

    • 数値(省略可)

      ウィンドウを移動する画面の左端からのオフセット(ピクセル単位)。この値はパネルでは無視されます。

    • state

      WindowState (省略可)

      ウィンドウの新しい状態。「最小化」、「最大化」、「全画面」状態を「left」、「top」、「width」、「height」と組み合わせることはできません。

    • 数値(省略可)

      ウィンドウを移動する画面の上端からのオフセット(ピクセル単位)。この値はパネルでは無視されます。

    • 数値(省略可)

      ウィンドウのサイズを変更する幅(ピクセル単位)。この値はパネルでは無視されます。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (window: Window) => void

戻り値

  • Promise&lt;Window&gt;

    Chrome 88 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

イベント

onBoundsChanged

Chrome 86 以降
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

ウィンドウのサイズが変更されたときに呼び出されます。このイベントは新しい境界が commit された場合にのみディスパッチされ、進行中の変更についてはディスパッチされません。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (window: Window) => void

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'] を満たしています。