説明
chrome.app.window API を使用してウィンドウを作成します。ウィンドウには、タイトルバーとサイズ コントロールを含むフレーム(省略可)があります。Chrome ブラウザ ウィンドウには関連付けられていません。これらのオプションのデモについては、ウィンドウ状態のサンプルをご覧ください。
型
AppWindow
プロパティ
-
contentWindow
ウィンドウ
作成された子の JavaScript の「window」オブジェクト。
-
id
文字列
ウィンドウの作成に使用された ID。
-
innerBounds
ウィンドウのコンテンツの位置、サイズ、制約。ウィンドウの装飾は含まれません。このプロパティは Chrome 36 で新しく追加されました。
-
outerBounds
ウィンドウの位置、サイズ、制約。タイトルバーやフレームなどのウィンドウ装飾も含まれます。このプロパティは Chrome 36 で新しく追加されました。
-
clearAttention
void
ウィンドウからフォーカスを外します。
clearAttention関数は次のようになります。() => {...} -
閉じる
void
ウィンドウを閉じます。
close関数は次のようになります。() => {...} -
drawAttention
void
ウィンドウに注目させます。
drawAttention関数は次のようになります。() => {...} -
フォーカス
void
ウィンドウにフォーカスします。
focus関数は次のようになります。() => {...} -
全画面表示
void
ウィンドウを全画面表示にします。
ユーザーは、Esc キーを押してウィンドウを復元できます。アプリケーションは、
app.window.fullscreen.overrideEsc権限をリクエストし、keydown ハンドラと keyup ハンドラで .preventDefault() を呼び出してイベントをキャンセルすることで、Esc キーが押されたときに全画面表示状態が終了しないようにできます。window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };window.fullscreen()を指定すると、ウィンドウ全体が全画面表示になり、ユーザー ジェスチャーは必要ありません。HTML5 の全画面表示 API を使用して全画面表示モードにすることもできます(詳しくは、Web API をご覧ください)。fullscreen関数は次のようになります。() => {...} -
getBounds
void
非推奨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
Chrome 43 以降は非推奨outerBounds を使用します。
ウィンドウを位置(
left、top)に移動します。moveTo関数は次のようになります。(left: number, top: number) => {...}
-
左
数値
-
上
数値
-
-
resizeTo
void
Chrome 43 以降は非推奨outerBounds を使用します。
ウィンドウのサイズを
widthxheightピクセルに変更します。resizeTo関数は次のようになります。(width: number, height: number) => {...}
-
width
数値
-
height
数値
-
-
restore
void
ウィンドウを復元し、最大化、最小化、または全画面表示の状態を終了します。
restore関数は次のようになります。() => {...} -
setAlwaysOnTop
void
ウィンドウを他のほとんどのウィンドウの上に表示するかどうかを設定します。
alwaysOnTopWindowsのアクセス許可を得る必要があります。setAlwaysOnTop関数は次のようになります。(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
ブール値
-
-
setBounds
void
非推奨innerBounds または outerBounds を使用してください。
ウィンドウの内側の境界を設定します。
setBounds関数は次のようになります。(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
void
ウィンドウをすべてのワークスペースに表示するかどうかを設定します。(これをサポートするプラットフォームのみ)。
setVisibleOnAllWorkspaces関数は次のようになります。(alwaysVisible: boolean) => {...}
-
alwaysVisible
ブール値
-
-
表示する
void
ウィンドウを表示します。ウィンドウがすでに表示されている場合は何もしません。
focusedが true に設定されているか、省略されている場合は、ウィンドウにフォーカスします。show関数は次のようになります。(focused?: boolean) => {...}
-
手厚い支援
boolean 省略可
-
Bounds
プロパティ
-
height
数値
このプロパティは、コンテンツまたはウィンドウの現在の高さを読み書きするために使用できます。
-
左
数値
このプロパティは、コンテンツまたはウィンドウの現在の X 座標の読み取りまたは書き込みに使用できます。
-
maxHeight
number 省略可
このプロパティは、コンテンツまたはウィンドウの現在の最大高さを読み取りまたは書き込みするために使用できます。値
nullは「未指定」を示します。 -
maxWidth
number 省略可
このプロパティは、コンテンツまたはウィンドウの現在の最大幅を読み取りまたは書き込みするために使用できます。値が
nullの場合は「未指定」を示します。 -
minHeight
number 省略可
このプロパティは、コンテンツまたはウィンドウの現在の最小の高さを読み書きするために使用できます。値
nullは「未指定」を示します。 -
minWidth
number 省略可
このプロパティは、コンテンツまたはウィンドウの現在の最小幅を読み書きするために使用できます。値
nullは「未指定」を示します。 -
上
数値
このプロパティは、コンテンツまたはウィンドウの現在の Y 座標の読み取りまたは書き込みに使用できます。
-
width
数値
このプロパティは、コンテンツまたはウィンドウの現在の幅を読み書きするために使用できます。
-
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) => {...}
-
width
数値
-
height
数値
-
BoundsSpecification
プロパティ
-
height
number 省略可
コンテンツまたはウィンドウの高さ。
-
左
number 省略可
コンテンツまたはウィンドウの X 座標。
-
maxHeight
number 省略可
コンテンツまたはウィンドウの最大高さ。
-
maxWidth
number 省略可
コンテンツまたはウィンドウの最大幅。
-
minHeight
number 省略可
コンテンツまたはウィンドウの最小の高さ。
-
minWidth
number 省略可
コンテンツまたはウィンドウの最小幅。
-
上
number 省略可
コンテンツまたはウィンドウの Y 座標。
-
width
number 省略可
コンテンツまたはウィンドウの幅。
ContentBounds
プロパティ
-
height
number 省略可
-
左
number 省略可
-
上
number 省略可
-
width
number 省略可
CreateWindowOptions
プロパティ
-
alwaysOnTop
boolean 省略可
true の場合、ウィンドウは他のほとんどのウィンドウの上に表示されます。この種類のウィンドウが複数ある場合は、現在フォーカスされているウィンドウがフォアグラウンドに表示されます。
alwaysOnTopWindows権限が必要です。デフォルトは false です。作成後にこのプロパティを変更するには、ウィンドウで
setAlwaysOnTop()を呼び出します。 -
bounds
ContentBounds 省略可
非推奨innerBounds または outerBounds を使用してください。
ウィンドウ内のコンテンツのサイズと位置(タイトルバーを除く)。ID も指定されていて、照合用のウェブ商品アイテム ID を持つウィンドウが以前に表示されている場合は、代わりにウィンドウの記憶された境界が使用されます。
-
手厚い支援
boolean 省略可
true の場合、作成時にウィンドウにフォーカスが設定されます。デフォルトは true です。
-
フレーム
文字列 | FrameOptions 省略可
フレームタイプ:
noneまたはchrome(デフォルトはchrome)。noneの場合、-webkit-app-regionCSS プロパティを使用して、アプリのウィンドウにドラッグ機能を適用できます。-webkit-app-region: dragを使用すると、リージョンをドラッグ可能としてマークできます。no-dragを使用すると、ネストされた要素でこのスタイルを無効にできます。FrameOptionsの使用は M36 で新しく追加されました。 -
boolean 省略可
true の場合、ウィンドウは非表示の状態で作成されます。ウィンドウが作成されたら、ウィンドウで show() を呼び出して表示します。デフォルトは false です。
-
アイコン
文字列 省略可
Chrome 54 以降ウィンドウ アイコンの URL。showInShelf が true に設定されている場合、ウィンドウに独自のアイコンを設定できます。URL は、グローバル URL または拡張機能のローカル URL にする必要があります。
-
id
文字列 省略可
ウィンドウを識別する ID。これは、ウィンドウのサイズと位置を記憶し、同じ ID のウィンドウが後で開かれたときにそのジオメトリを復元するために使用されます。指定された ID のウィンドウが作成されるときに、同じ ID の別のウィンドウがすでに存在する場合は、新しいウィンドウを作成する代わりに、現在開いているウィンドウがフォーカスされます。
-
innerBounds
ウィンドウのコンテンツ(ウィンドウの装飾を除く)の初期位置、初期サイズ、制約を指定するために使用されます。
idも指定されていて、一致するidを持つウィンドウが以前に表示されている場合は、記憶されている境界が代わりに使用されます。内側の境界と外側の境界の間のパディングは、OS によって決定されます。そのため、
innerBoundsとouterBoundsの両方に同じ bounds プロパティを設定すると、エラーが発生します。このプロパティは Chrome 36 で新しく追加されました。
-
maxHeight
number 省略可
非推奨innerBounds または outerBounds を使用してください。
ウィンドウの最大高さ。
-
maxWidth
number 省略可
非推奨innerBounds または outerBounds を使用してください。
ウィンドウの最大幅。
-
minHeight
number 省略可
非推奨innerBounds または outerBounds を使用してください。
ウィンドウの最小の高さ。
-
minWidth
number 省略可
非推奨innerBounds または outerBounds を使用してください。
ウィンドウの最小幅。
-
outerBounds
ウィンドウ(タイトルバーやフレームなどのウィンドウ装飾を含む)の初期位置、初期サイズ、制約を指定するために使用されます。
idも指定されていて、一致するidを持つウィンドウが以前に表示されている場合は、記憶されている境界が代わりに使用されます。内側の境界と外側の境界の間のパディングは、OS によって決定されます。そのため、
innerBoundsとouterBoundsの両方に同じ bounds プロパティを設定すると、エラーが発生します。このプロパティは Chrome 36 で新しく追加されました。
-
サイズ変更可能
boolean 省略可
true の場合、ユーザーはウィンドウのサイズを変更できます。デフォルトは true です。
-
showInShelf
boolean 省略可
Chrome 54 以降true の場合、ウィンドウに独自のシェルフ アイコンが表示されます。それ以外の場合、ウィンドウは、アプリに関連付けられている他のウィンドウとともにシェルフにグループ化されます。デフォルトは false です。showInShelf が true に設定されている場合は、ウィンドウの ID を指定する必要があります。
-
シングルトン
boolean 省略可
非推奨同じ ID を持つ複数のウィンドウはサポートされなくなりました。
デフォルトでは、ウィンドウに ID を指定すると、同じ ID の別のウィンドウがまだ存在しない場合にのみウィンドウが作成されます。同じ ID のウィンドウがすでに存在する場合は、代わりにそのウィンドウがアクティブになります。同じ ID で複数のウィンドウを作成する場合は、このプロパティを false に設定します。
-
state
State 省略可
ウィンドウの初期状態。全画面表示、最大化、最小化の状態で作成できます。デフォルトは「normal」です。
-
type
WindowType 省略可
Chrome 45 以降 Chrome 69 以降は非推奨すべてのアプリ ウィンドウで「shell」ウィンドウ タイプを使用する
作成するウィンドウのタイプ。
-
visibleOnAllWorkspaces
boolean 省略可
true の場合、プラットフォームでサポートされていれば、ウィンドウはすべてのワークスペースに表示されます。
FrameOptions
プロパティ
-
activeColor
文字列 省略可
アクティブなウィンドウのフレームの色を設定できます。フレームの色付けは、フレームタイプが
chromeの場合にのみ使用できます。フレームの色付けは、フレームタイプが
chromeの場合にのみ使用できます。フレームの色付けは Chrome 36 の新機能です。
-
色
文字列 省略可
フレームの色を設定できます。フレームの色付けは、フレームタイプが
chromeの場合にのみ使用できます。フレームの色付けは Chrome 36 の新機能です。
-
inactiveColor
文字列 省略可
ウィンドウがアクティブでないときのフレームの色を、アクティブなときの色とは異なる色に設定できます。フレームの色付けは、フレームタイプが
chromeの場合にのみ使用できます。inactiveColorはcolorと組み合わせて使用する必要があります。フレームの色付けは Chrome 36 の新機能です。
-
type
文字列 省略可
フレームタイプ:
noneまたはchrome(デフォルトはchrome)。noneの場合、-webkit-app-regionCSS プロパティを使用して、アプリのウィンドウにドラッグ機能を適用できます。-webkit-app-region: dragを使用すると、リージョンをドラッグ可能に設定できます。no-dragを使用すると、ネストされた要素でこのスタイルを無効にできます。
State
ウィンドウの状態(通常、全画面表示、最大化、最小化)。
列挙型
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
作成するウィンドウのタイプを指定します。
列挙型
"shell"
デフォルトのウィンドウ タイプ。
"panel"
OS 管理ウィンドウ(非推奨)。
メソッド
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
現在のプラットフォームが、すべてのワークスペースでウィンドウを表示することをサポートしているかどうか。
戻り値
-
ブール値
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
ウィンドウのサイズと位置は、さまざまな方法で指定できます。最も簡単なオプションは、何も指定しないことです。この場合、デフォルトのサイズとプラットフォームに依存する位置が使用されます。
ウィンドウの位置、サイズ、制約を設定するには、innerBounds プロパティまたは outerBounds プロパティを使用します。内側の境界にはウィンドウの装飾は含まれません。外側の境界には、ウィンドウのタイトルバーとフレームが含まれます。内側の境界と外側の境界の間のパディングは、OS によって決定されます。そのため、内側と外側の両方の境界に同じプロパティを設定すると、エラーと見なされます(たとえば、innerBounds.left と outerBounds.left の両方を設定した場合)。
ウィンドウの位置を自動的に記憶するには、ウィンドウに ID を指定します。ウィンドウに ID がある場合、この ID は、ウィンドウが移動またはサイズ変更されるたびに、ウィンドウのサイズと位置を記憶するために使用されます。このサイズと位置は、同じ ID のウィンドウを次回開くときに、指定された境界の代わりに使用されます。記憶されているデフォルト以外の場所に ID を持つウィンドウを開く必要がある場合は、非表示で作成し、目的の場所に移動してから表示します。
パラメータ
-
URL
文字列
-
オプション
-
callback
function 省略可
callbackパラメータは次のようになります。(createdWindow: AppWindow) => void
-
createdWindow
-
戻り値
-
Promise<AppWindow>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
current()
chrome.app.window.current(): AppWindow | undefined
現在のスクリプト コンテキスト(JavaScript の「window」オブジェクト)の AppWindow オブジェクトを返します。これは、別のページのスクリプト コンテキストのハンドル(例: otherWindow.chrome.app.window.current())でも呼び出すことができます。
戻り値
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
指定された ID の AppWindow を取得します。指定された ID のウィンドウが存在しない場合は、null が返されます。このメソッドは Chrome 33 で新しく追加されました。
パラメータ
-
id
文字列
戻り値
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
現在作成されているすべてのアプリ ウィンドウの配列を取得します。このメソッドは 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 または 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