chrome.app.window

説明

chrome.app.window API を使用してウィンドウを作成します。ウィンドウには、タイトルバーとサイズ コントロールを備えたオプションのフレームがあります。Chrome ブラウザ ウィンドウには関連付けられていません。これらのオプションのデモについては、ウィンドウ状態サンプルをご覧ください。

AppWindow

プロパティ

  • contentWindow

    ウィンドウ

    JavaScript の「ウィンドウ」オブジェクトが作成されます。

  • id

    文字列

    ウィンドウの作成に使用された ID。

  • innerBounds

    ウィンドウのコンテンツの位置、サイズ、制約(ウィンドウ デコレーションは含まれません)。このプロパティは Chrome 36 で新たに導入されました。

  • outerBounds

    ウィンドウの位置、サイズ、制約。タイトルバーやフレームなどのウィンドウ デコレーションも含まれます。このプロパティは Chrome 36 で新たに導入されました。

  • clearAttention

    void

    窓に注意を向けてください。

    clearAttention 関数は次のようになります。

    () => {...}

  • 閉じる

    void

    ウィンドウを閉じます。

    close 関数は次のようになります。

    () => {...}

  • drawAttention

    void

    ウィンドウに注目します。

    drawAttention 関数は次のようになります。

    () => {...}

  • ピント

    void

    ウィンドウをフォーカスします。

    focus 関数は次のようになります。

    () => {...}

  • 全画面表示

    void

    ウィンドウを全画面表示します。

    Esc キーを押すとウィンドウを復元できます。Esc キーが押されたときにアプリが全画面表示の状態を維持できないようにするには、次のように、keydown ハンドラと keyup ハンドラで app.window.fullscreen.overrideEsc 権限をリクエストし、.preventDefault() を呼び出すことでイベントをキャンセルします。

    window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };

    なお、window.fullscreen() はウィンドウ全体が全画面表示になり、ユーザーの操作を必要としません。HTML5 フルスクリーン API を使用して全画面モードに切り替えることもできます(詳しくは、ウェブ API をご覧ください)。

    fullscreen 関数は次のようになります。

    () => {...}

  • getBounds

    void

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウの内側の境界を ContentBounds オブジェクトとして取得します。

    getBounds 関数は次のようになります。

    () => {...}

  • 非表示

    void

    ウィンドウを非表示にします。ウィンドウがすでに非表示になっている場合は、何もしません。

    hide 関数は次のようになります。

    () => {...}

  • isAlwaysOnTop

    void

    ウィンドウが常に前面に表示されているか。

    isAlwaysOnTop 関数は次のようになります。

    () => {...}

    • 戻り値

      ブール値

  • isFullscreen

    void

    ウィンドウは全画面表示ですか?これは、ウィンドウが全画面表示された場合、または AppWindow または HTML5 全画面 API を介して全画面に作成された場合に true になります。

    isFullscreen 関数は次のようになります。

    () => {...}

    • 戻り値

      ブール値

  • isMaximized

    void

    ウィンドウが最大化されているか。

    isMaximized 関数は次のようになります。

    () => {...}

    • 戻り値

      ブール値

  • isMinimized

    void

    ウィンドウが最小化されていますか?

    isMinimized 関数は次のようになります。

    () => {...}

    • 戻り値

      ブール値

  • 最大化

    void

    ウィンドウを最大化する。

    maximize 関数は次のようになります。

    () => {...}

  • 最小化

    void

    ウィンドウを最小化します。

    minimize 関数は次のようになります。

    () => {...}

  • moveTo

    void

    <ph type="x-smartling-placeholder"></ph> Chrome 43 以降非推奨

    outerBounds を使用する

    ウィンドウを位置(lefttop)に移動します。

    moveTo 関数は次のようになります。

    (left: number, top: number) => {...}

    • 数値

    • 数値

  • resizeTo

    void

    <ph type="x-smartling-placeholder"></ph> Chrome 43 以降非推奨

    outerBounds を使用する

    ウィンドウのサイズを widthxheight ピクセルに変更します。

    resizeTo 関数は次のようになります。

    (width: number, height: number) => {...}

    • 数値

    • height

      数値

  • restore

    void

    ウィンドウを復元して、最大化、最小化、または全画面表示の状態を終了します。

    restore 関数は次のようになります。

    () => {...}

  • setAlwaysOnTop

    void

    そのウィンドウを他のほとんどのウィンドウより上にしておくかどうかを設定します。alwaysOnTopWindows のアクセス許可を得る必要があります。

    setAlwaysOnTop 関数は次のようになります。

    (alwaysOnTop: boolean) => {...}

    • alwaysOnTop

      ブール値

  • setBounds

    void

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウの内側の境界を設定します。

    setBounds 関数は次のようになります。

    (bounds: ContentBounds) => {...}

  • setVisibleOnAllWorkspaces

    void

    すべてのワークスペースにウィンドウを表示するかどうかを設定します。(この機能をサポートしているプラットフォームのみ)。

    setVisibleOnAllWorkspaces 関数は次のようになります。

    (alwaysVisible: boolean) => {...}

    • alwaysVisible

      ブール値

  • 表示する

    void

    ウィンドウを表示します。ウィンドウがすでに表示されている場合は、何もしません。focused が true に設定されているか省略されている場合に、ウィンドウをフォーカスします。

    show 関数は次のようになります。

    (focused?: boolean) => {...}

    • 手厚い支援

      ブール値(省略可)

Bounds

プロパティ

  • height

    数値

    このプロパティを使用すると、コンテンツまたはウィンドウの現在の高さを読み書きできます。

  • 数値

    このプロパティを使用すると、コンテンツまたはウィンドウの現在の X 座標を読み書きできます。

  • maxHeight

    数値(省略可)

    このプロパティを使用すると、コンテンツまたはウィンドウの現在の最大高さを読み書きできます。値 null は「指定なし」を示します。

  • maxWidth

    数値(省略可)

    このプロパティを使用すると、コンテンツまたはウィンドウの現在の最大幅を読み書きできます。値 null は「指定なし」を示します。

  • minHeight

    数値(省略可)

    このプロパティを使用すると、コンテンツまたはウィンドウの現在の最小高さを読み書きできます。値 null は「指定なし」を示します。

  • minWidth

    数値(省略可)

    このプロパティは、コンテンツまたはウィンドウの現在の最小幅の読み取りまたは書き込みに使用できます。値 null は「指定なし」を示します。

  • 数値

    このプロパティを使用すると、コンテンツまたはウィンドウの現在の Y 座標を読み書きできます。

  • 数値

    このプロパティは、コンテンツまたはウィンドウの現在の幅の読み取りまたは書き込みに使用できます。

  • setMaximumSize

    void

    コンテンツまたはウィンドウの最大サイズの制約を設定します。最大の幅または最大の高さを null に設定すると、制約を削除できます。値 undefined の場合、制約は変更されません。

    setMaximumSize 関数は次のようになります。

    (maxWidth: number, maxHeight: number) => {...}

    • maxWidth

      数値

    • maxHeight

      数値

  • setMinimumSize

    void

    コンテンツまたはウィンドウの最小サイズの制約を設定します。最小の幅または最小の高さを null に設定すると、制約を削除できます。値 undefined の場合、制約は変更されません。

    setMinimumSize 関数は次のようになります。

    (minWidth: number, minHeight: number) => {...}

    • minWidth

      数値

    • minHeight

      数値

  • setPosition

    void

    コンテンツまたはウィンドウの左位置と上位置を設定します。

    setPosition 関数は次のようになります。

    (left: number, top: number) => {...}

    • 数値

    • 数値

  • setSize

    void

    コンテンツまたはウィンドウの幅と高さを設定します。

    setSize 関数は次のようになります。

    (width: number, height: number) => {...}

    • 数値

    • height

      数値

BoundsSpecification

プロパティ

  • height

    数値(省略可)

    コンテンツまたはウィンドウの高さ。

  • 数値(省略可)

    コンテンツまたはウィンドウの X 座標。

  • maxHeight

    数値(省略可)

    コンテンツまたはウィンドウの最大の高さ。

  • maxWidth

    数値(省略可)

    コンテンツまたはウィンドウの最大幅。

  • minHeight

    数値(省略可)

    コンテンツまたはウィンドウの最小の高さ。

  • minWidth

    数値(省略可)

    コンテンツまたはウィンドウの最小幅。

  • 数値(省略可)

    コンテンツまたはウィンドウの Y 座標。

  • 数値(省略可)

    コンテンツまたはウィンドウの幅。

ContentBounds

プロパティ

  • height

    数値(省略可)

  • 数値(省略可)

  • 数値(省略可)

  • 数値(省略可)

CreateWindowOptions

プロパティ

  • alwaysOnTop

    ブール値(省略可)

    true の場合、ウィンドウは他のほとんどのウィンドウより上に維持されます。このようなウィンドウが複数ある場合は、現在フォーカスされているウィンドウがフォアグラウンドになります。alwaysOnTopWindows 権限が必要です。デフォルトは false です。

    作成後にこのプロパティを変更するには、ウィンドウで setAlwaysOnTop() を呼び出します。

  • bounds

    ContentBounds オプション

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウ内のコンテンツ(タイトルバーを除く)のサイズと位置。ID も指定されており、一致する ID のウィンドウが以前に表示された場合は、記憶されているウィンドウの境界が代わりに使用されます。

  • 手厚い支援

    ブール値(省略可)

    true の場合、ウィンドウは作成時にフォーカスされます。デフォルトは true です。

  • フレーム

    string |FrameOptions (省略可)

    フレームタイプ: none または chrome(デフォルトは chrome)。none では、-webkit-app-region CSS プロパティを使用して、アプリのウィンドウにドラッグ可能性を適用できます。-webkit-app-region: drag を使用すると、リージョンをドラッグ可能にできます。no-drag を使用すると、ネストされた要素でこのスタイルを無効にできます。

    FrameOptions は M36 で新たに使用されました。

  • 非表示

    ブール値(省略可)

    true の場合、ウィンドウは非表示の状態で作成されます。ウィンドウに対して show() を呼び出して、作成されたら表示します。デフォルトは false です。

  • アイコン

    文字列(省略可)

    Chrome 54 以降

    ウィンドウ アイコンの URL。showInShelf が true に設定されている場合、ウィンドウに独自のアイコンを表示できます。URL にはグローバル URL または拡張機能のローカル URL を指定する必要があります。

  • id

    文字列(省略可)

    ウィンドウを識別する ID。これはウィンドウのサイズと位置を記憶し、同じ ID のウィンドウが後で開かれたときにそのジオメトリを復元するために使用されます。あるウィンドウとその ID の別のウィンドウがすでに存在する場合、新しいウィンドウは作成されず、現在開いているウィンドウがフォーカスされます。

  • innerBounds

    ウィンドウのコンテンツの初期位置、初期サイズ、制約(ウィンドウ デコレーションを除く)を指定するために使用されます。id も指定されていて、一致する id を持つウィンドウが以前に表示された場合は、記憶された境界が代わりに使用されます。

    内側と外側の境界間のパディングは、OS によって決定されます。そのため、innerBoundsouterBounds の両方に同じ境界プロパティを設定すると、エラーが発生します。

    このプロパティは Chrome 36 で新たに導入されました。

  • maxHeight

    数値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウの最大高。

  • maxWidth

    数値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウの最大幅。

  • minHeight

    数値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウの最小の高さ。

  • minWidth

    数値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    innerBounds または outerBounds を使用します。

    ウィンドウの最小幅。

  • outerBounds

    ウィンドウの初期位置、初期サイズ、制約(タイトルバーやフレームなどのウィンドウ デコレーションを含む)を指定するために使用されます。id も指定されていて、一致する id を持つウィンドウが以前に表示された場合は、記憶された境界が代わりに使用されます。

    内側と外側の境界間のパディングは、OS によって決定されます。そのため、innerBoundsouterBounds の両方に同じ境界プロパティを設定すると、エラーが発生します。

    このプロパティは Chrome 36 で新たに導入されました。

  • サイズ変更可能

    ブール値(省略可)

    true の場合、ユーザーがウィンドウのサイズを変更できます。デフォルトは true です。

  • showInShelf

    ブール値(省略可)

    Chrome 54 以降

    true の場合、ウィンドウにはシェルフのアイコンが表示されます。それ以外のウィンドウは、アプリに関連付けられている他のウィンドウとともにシェルフにグループ化されます。デフォルトは false です。showInShelf が true に設定されている場合は、ウィンドウの ID を指定する必要があります。

  • シングルトン

    ブール値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    同じ ID を持つ複数のウィンドウはサポートされなくなりました。

    デフォルトでは、ウィンドウの ID を指定すると、同じ ID を持つ別のウィンドウがまだ存在しない場合にのみ、ウィンドウが作成されます。同じ ID のウィンドウがすでに存在する場合は、代わりにそのウィンドウがアクティブになります。同じ ID で複数のウィンドウを作成する場合は、このプロパティを false に設定します。

  • state

    都道府県 (省略可)

    ウィンドウの初期状態。すでに全画面表示、最大化、または最小化できます。デフォルトは「normal」です。

  • type

    WindowType省略可

    Chrome 45 以降 Chrome 69 以降非推奨

    すべてのアプリ ウィンドウが「シェル」を使用するウィンドウ タイプ

    作成するウィンドウのタイプ。

  • visibleOnAllWorkspaces

    ブール値(省略可)

    true で、プラットフォームでサポートされている場合、ウィンドウはすべてのワークスペースに表示されます。

FrameOptions

プロパティ

  • activeColor

    文字列(省略可)

    アクティブなときのウィンドウのフレーム色を設定できます。フレームの色は、フレームタイプが chrome の場合にのみ使用できます。

    フレームの色は、フレームタイプが chrome の場合にのみ使用できます。

    フレーム カラーは Chrome 36 で新たに導入されました。

  • 文字列(省略可)

    フレームの色を設定できます。フレームの色は、フレームタイプが chrome の場合にのみ使用できます。

    フレーム カラーは Chrome 36 で新たに導入されました。

  • inactiveColor

    文字列(省略可)

    アクティブでないときのウィンドウのフレーム色を、アクティブな色とは別に設定できます。フレームの色は、フレームタイプが chrome の場合にのみ使用できます。

    inactiveColorcolor と組み合わせて使用する必要があります。

    フレーム カラーは Chrome 36 で新たに導入されました。

  • type

    文字列(省略可)

    フレームタイプ: none または chrome(デフォルトは chrome)。

    none では、-webkit-app-region CSS プロパティを使用して、アプリのウィンドウにドラッグ可能性を適用できます。

    -webkit-app-region: drag を使用すると、リージョンをドラッグ可能にできます。no-drag を使用すると、ネストされた要素でこのスタイルを無効にできます。

State

ウィンドウの状態(標準、全画面、最大化、最小化)。

列挙型

「normal」

"fullscreen"

"maximized"

"最小化"

WindowType

Chrome 45 以降

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

列挙型

"shell"
デフォルトのウィンドウ タイプ

"panel"
OS マネージド ウィンドウ(非推奨)。

メソッド

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces()

現在のプラットフォームが、すべてのワークスペースでのウィンドウの表示をサポートしているかどうか。

戻り値

  • ブール値

create()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)

ウィンドウのサイズと位置は、いくつかの方法で指定できます。最もシンプルなオプションは、何も指定しないことです。この場合、デフォルトのサイズとプラットフォームに依存する位置が使用されます。

ウィンドウの位置、サイズ、制約を設定するには、innerBounds プロパティまたは outerBounds プロパティを使用します。内側の境界にウィンドウ デコレーションは含まれません。外側の境界には、ウィンドウのタイトルバーとフレームが含まれます。内側と外側の境界間のパディングは、OS によって決定されます。そのため、内側と外側の両方の境界に同じプロパティを設定するとエラーとみなされます(たとえば、innerBounds.leftouterBounds.left の両方を設定するとエラーになります)。

ウィンドウの位置を自動的に記憶するには、ID を指定します。ウィンドウに ID がある場合、この ID を使用して、ウィンドウの移動やサイズ変更が行われるたびにウィンドウのサイズと位置を記憶します。その後、同じ ID のウィンドウが開くときに、指定された境界の代わりにこのサイズと位置が使用されます。保存されているデフォルト以外の場所で ID のウィンドウを開く必要がある場合は、非表示を作成し、目的の場所に移動して表示できます。

パラメータ

  • URL

    文字列

  • オプション

    CreateWindowOptions(省略可)

  • callback

    関数(省略可)

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

    (createdWindow: AppWindow) => void

戻り値

  • Promise&lt;AppWindow&gt;

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

current()

chrome.app.window.current()

現在のスクリプト コンテキストの AppWindow オブジェクト(JavaScript の「window」オブジェクト)を返します。別のページのスクリプト コンテキストへのハンドル(例: otherWindow.chrome.app.window.current())で呼び出すこともできます。

戻り値

get()

chrome.app.window.get(
  id: string,
)

指定された ID の AppWindow を取得します。指定された ID を持つウィンドウが存在しない場合は null が返されます。この方法は Chrome 33 で新たに導入されました。

パラメータ

  • id

    文字列

戻り値

getAll()

chrome.app.window.getAll()

現在作成されているすべてのアプリ ウィンドウの配列を取得します。この方法は Chrome 33 で新たに導入されました。

戻り値

イベント

onBoundsChanged

chrome.app.window.onBoundsChanged.addListener(
  callback: function,
)

ウィンドウのサイズが変更されたときに呼び出されます。

パラメータ

  • callback

    関数

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

    () => void

onClosed

chrome.app.window.onClosed.addListener(
  callback: function,
)

ウィンドウが閉じたときに呼び出されます。なお、これは閉じているウィンドウ以外のウィンドウ(バックグラウンド ページなど)からリッスンする必要があります。これは、イベント発生時に閉じているウィンドウが破棄されるプロセスにあり、ウィンドウのスクリプト コンテキスト内のすべての API が機能しないためです。

パラメータ

  • callback

    関数

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

    () => void

onFullscreened

chrome.app.window.onFullscreened.addListener(
  callback: function,
)

ウィンドウが(AppWindow API または HTML5 API を介して)全画面表示されたときに呼び出されます。

パラメータ

  • callback

    関数

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

    () => void

onMaximized

chrome.app.window.onMaximized.addListener(
  callback: function,
)

ウィンドウが最大化されたときに呼び出されます。

パラメータ

  • callback

    関数

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

    () => void

onMinimized

chrome.app.window.onMinimized.addListener(
  callback: function,
)

ウィンドウが最小化されたときに呼び出されます。

パラメータ

  • callback

    関数

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

    () => void

onRestored

chrome.app.window.onRestored.addListener(
  callback: function,
)

ウィンドウが最小化または最大化から復元されたときに呼び出されます。

パラメータ

  • callback

    関数

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

    () => void