説明
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 を使用する
ウィンドウを位置(
left
、top
)に移動します。moveTo
関数は次のようになります。(left: number, top: number) => {...}
-
左
数値
-
上
数値
-
-
resizeTo
void
<ph type="x-smartling-placeholder"></ph> Chrome 43 以降非推奨outerBounds を使用する
ウィンドウのサイズを
width
xheight
ピクセルに変更します。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) => {...}
-
bounds
-
-
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 によって決定されます。そのため、
innerBounds
とouterBounds
の両方に同じ境界プロパティを設定すると、エラーが発生します。このプロパティは 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 によって決定されます。そのため、
innerBounds
とouterBounds
の両方に同じ境界プロパティを設定すると、エラーが発生します。このプロパティは 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
の場合にのみ使用できます。inactiveColor
はcolor
と組み合わせて使用する必要があります。フレーム カラーは Chrome 36 で新たに導入されました。
-
type
文字列(省略可)
フレームタイプ:
none
またはchrome
(デフォルトはchrome
)。none
では、-webkit-app-region
CSS プロパティを使用して、アプリのウィンドウにドラッグ可能性を適用できます。-webkit-app-region: drag
を使用すると、リージョンをドラッグ可能にできます。no-drag
を使用すると、ネストされた要素でこのスタイルを無効にできます。
State
ウィンドウの状態(標準、全画面、最大化、最小化)。
列挙型
「normal」
"fullscreen"
"maximized"
"最小化"
WindowType
作成するウィンドウのタイプを指定します。
列挙型
"shell"
デフォルトのウィンドウ タイプ。
"panel"
OS マネージド ウィンドウ(非推奨)。
メソッド
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
現在のプラットフォームが、すべてのワークスペースでのウィンドウの表示をサポートしているかどうか。
戻り値
-
ブール値
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
ウィンドウのサイズと位置は、いくつかの方法で指定できます。最もシンプルなオプションは、何も指定しないことです。この場合、デフォルトのサイズとプラットフォームに依存する位置が使用されます。
ウィンドウの位置、サイズ、制約を設定するには、innerBounds
プロパティまたは outerBounds
プロパティを使用します。内側の境界にウィンドウ デコレーションは含まれません。外側の境界には、ウィンドウのタイトルバーとフレームが含まれます。内側と外側の境界間のパディングは、OS によって決定されます。そのため、内側と外側の両方の境界に同じプロパティを設定するとエラーとみなされます(たとえば、innerBounds.left
と outerBounds.left
の両方を設定するとエラーになります)。
ウィンドウの位置を自動的に記憶するには、ID を指定します。ウィンドウに ID がある場合、この ID を使用して、ウィンドウの移動やサイズ変更が行われるたびにウィンドウのサイズと位置を記憶します。その後、同じ ID のウィンドウが開くときに、指定された境界の代わりにこのサイズと位置が使用されます。保存されているデフォルト以外の場所で ID のウィンドウを開く必要がある場合は、非表示を作成し、目的の場所に移動して表示できます。
パラメータ
-
URL
文字列
-
オプション
CreateWindowOptions(省略可)
-
callback
関数(省略可)
callback
パラメータは次のようになります。(createdWindow: AppWindow) => void
-
createdWindow
-
戻り値
-
Promise<AppWindow>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
current()
chrome.app.window.current()
現在のスクリプト コンテキストの AppWindow
オブジェクト(JavaScript の「window」オブジェクト)を返します。別のページのスクリプト コンテキストへのハンドル(例: otherWindow.chrome.app.window.current())で呼び出すこともできます。
戻り値
-
AppWindow |未定義
get()
chrome.app.window.get(
id: string,
)
指定された ID の AppWindow
を取得します。指定された ID を持つウィンドウが存在しない場合は null が返されます。この方法は Chrome 33 で新たに導入されました。
パラメータ
-
id
文字列
戻り値
-
AppWindow |未定義
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