Window
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
Window インターフェイスは、 DOM 文書を収めるウィンドウを表します。 document プロパティは、そのウィンドウに読み込まれた DOM の document オブジェクト を指します。
特定の文書が属するウィンドウは、 document.defaultView プロパティを使用して取得できます。
グローバル変数の window は、スクリプトを実行しているウィンドウを表しており、 JavaScript コードに公開されます。
Window インターフェイスは、ユーザーインターフェイスのウィンドウの概念とは必ずしも直接関連づかない、さまざまな関数、名前空間、オブジェクト、コンストラクターのホームです。一方、 Window インターフェイスはグローバルで使用可能であることが必要な、さまざまなアイテムを含むのに適した場所です。これらの多くは JavaScript リファレンス や DOM リファレンス で文書化しています。
タブブラウザーでは、それぞれのタブが個々の Window オブジェクトで表されます。タブ内で実行している JavaScript から見えるグローバルの window は、常にコードを実行しているタブを表します。しかし、タブブラウザーであっても resizeTo() や innerHeight のように、タブを含むウィンドウ全体に適用されるプロパティやメソッドがあります。一般に、タブに所属することができない合理的な理由があるものは、代わりにウィンドウに属します。
インスタンスプロパティ
このインターフェイスは EventTarget インターフェイスからプロパティを継承しています。
オブジェクトであるプロパティ(例えば、組み込み要素のプロトタイプを上書きするためのもの)は、後述の個別セクションに記載しています。
Window.caches読取専用 安全なコンテキスト用-
現在のコンテキストに関連付けられた
CacheStorageオブジェクトを返します。このオブジェクトはオフラインで使用する資産を格納したり、リクエストに対して独自のレスポンスを生成したりするような機能が利用できます。 Window.clientInformation読取専用-
Window.navigatorの別名です。 Window.closed読取専用-
このプロパティは、現在のウィンドウが閉じているかどうかを示します。
-
現在の文書コンテキストの
CookieStoreオブジェクトへの参照を返します。 Window.credentialless読取専用 Experimental-
現在の文書が 無信頼の
<iframe>内で読み込まれたかどうかを示す論理値を返します。詳しくは無信頼の iframe を参照してください。 Window.crossOriginIsolated読取専用-
ウェブサイトがオリジン間分離状態にあるかどうかを示す論理値を返します。
Window.crypto読取専用-
グローバルオブジェクトに関連付けられた
Cryptoオブジェクトを返します。 Window.customElements読取専用-
CustomElementRegistryオブジェクトへの参照を返します。これは新しいカスタム要素の登録や、以前に登録したカスタム要素の情報を取得するために使用できます。 Window.devicePixelRatio読取専用-
現在のディスプレイの、物理ピクセルと端末非依存ピクセルの比率を返します。
Window.document読取専用-
指定ウィンドウにある文書への参照を返します。
Window.documentPictureInPicture読取専用 Experimental 安全なコンテキスト用-
現在の文書コンテキストのピクチャインピクチャウィンドウへの参照を返します。
Window.fence読取専用 Experimental-
現在の文書コンテキストの
Fenceオブジェクトインスタンスを返します。<fencedframe>内に埋め込まれた文書でのみ利用できます。 Window.frameElement読取専用-
ウィンドウが埋め込まれた要素を返します。ウィンドウが埋め込まれていない場合は、 null を返します。
Window.frames読取専用-
現在のウィンドウでのサブフレームの配列を返します。
Window.fullScreen非標準-
このプロパティはウィンドウが全画面で表示されているかどうかを示します。
Window.history読取専用-
history オブジェクトへの参照を返します。
Window.indexedDB読取専用-
索引付きデータベースにアプリケーションが非同期にアクセスできる仕組みを提供します。このプロパティは
IDBFactoryオブジェクトを返します。 Window.innerHeight読取専用-
ブラウザーウィンドウのコンテンツ領域の高さを取得し、もしあれば、水平スクロールバーを含みます。
Window.innerWidth読取専用-
ブラウザーウィンドウのコンテンツ領域の幅を取得し、もしあれば、垂直スクロールバーを含みます。
Window.isSecureContext読取専用-
コンテキストが、保護されたコンテキストを必要とする機能を使用することができるかどうかを表します。
Window.launchQueue読取専用 Experimental-
プログレッシブウェブアプリ (PWA) が、
launch_handlerのclient_modeがfocus-existing、navigate-new、navigate-existingのいずれかで起動された場合、launchQueueはLaunchQueueクラスへのアクセスを提供し、 PWA にカスタム起動ナビゲーション処理を実装することができます。 Window.length読取専用-
ウィンドウ内のフレームの数を返します。
window.framesも参照してください。 Window.localStorage読取専用-
生成元のオリジンからのみアクセスが可能なデータを保存するために使用する、ローカルストレージオブジェクトへの参照を返します。
Window.location-
window オブジェクトのロケーション、または現在の URL を取得 / 設定します。
Window.locationbar読取専用-
locationbar オブジェクトを返します。
-
menubar オブジェクトを返します。
Window.mozInnerScreenX読取専用 非標準-
スクリーン座標系でウィンドウのビューポートの左上隅の水平 (X) 座標を返します。この値は CSS ピクセルで表します。必要に応じて画面のピクセルに換算するための係数については、
nsIDOMWindowUtilsのmozScreenPixelsPerCSSPixelをご覧ください。 Window.mozInnerScreenY読取専用 非標準-
スクリーン座標系で、ウィンドウビューポートの左上隅の垂直 (Y) 座標を返します。この値は CSS ピクセルで表します。必要に応じて画面のピクセルに換算するための係数については
mozScreenPixelsPerCSSPixelをご覧ください。 Window.name-
ウィンドウ名を取得 / 設定します。
-
現在の
windowに関連付けられたNavigationオブジェクトを返します。ナビゲーション API のエントリーポイントです。 -
navigator オブジェクトへの参照を返します。
Window.opener-
現在のウィンドウを開いたウィンドウへの参照を返します。
Window.origin読取専用-
グローバルオブジェクトのオリジンを、文字列としてシリアライズして返します。
Window.originAgentCluster読取専用-
このウィンドウがオリジンキーエージェントクラスターに属している場合は
trueを返します。 Window.outerHeight読取専用-
ブラウザーウィンドウの外側の高さを取得します。
Window.outerWidth読取専用-
ブラウザーウィンドウの外側の幅を取得します。
Window.pageXOffset読取専用-
window.scrollXのエイリアスです。 Window.pageYOffset読取専用-
window.scrollYのエイリアスです。 Window.parent読取専用-
現在のウィンドウまたはサブフレームの親ウィンドウへの参照を返します。
Window.performance読取専用-
Performanceオブジェクトを返します。これはtimingやnavigation属性が含まれており、それぞれが パフォーマンス関連 のデータを提供するオブジェクトです。詳細情報や使用例はナビゲーションタイミングの使用をご覧ください。 Window.personalbar読取専用-
personalbar オブジェクトを返します。
Window.scheduler読取専用-
現在のコンテキストに関連付けられた
Schedulerオブジェクトを返します。この項目は優先タスクスケジューリング API を使用するためのエントリーポイントです。 Window.screen読取専用-
ウィンドウに関連付けられた screen オブジェクトへの参照を返します。
Window.screenXおよびWindow.screenLeft読取専用-
どちらのプロパティも、ユーザーのブラウザーのビューポートの左端から画面の左端までの水平方向の距離を返します。
Window.screenYおよびWindow.screenTop読取専用-
どちらのプロパティも、ユーザーのブラウザーのビューポートの上端から画面の上端までの垂直方向の距離を返します。
Window.scrollbars読取専用-
ウィンドウ内で表示 / 非表示の切り替え (トグル) が可能な、 scrollbars オブジェクトを返す
Window.scrollMaxX非標準 読取専用-
ウィンドウが水平スクロールされ得る最大オフセット、すなわち、文書の幅からビューポートの幅を引いたものです。
Window.scrollMaxY非標準 読取専用-
ウィンドウが垂直スクロールされ得る最大オフセット (すなわち、文書の高さからビューポートの高さを引いたもの) です。
Window.scrollX読取専用-
文書が現在水平にスクロールされているピクセル数を返します。
Window.scrollY読取専用-
文書が現在垂直にスクロールされているピクセル数を返します。
Window.self読取専用-
window オブジェクト自身へのオブジェクト参照を返す
Window.sessionStorage-
生成元のオリジンからのみアクセスが可能なデータを保存するために使用する、セッションストレージへの参照を返します。
-
現在のオリジンの
WindowSharedStorageオブジェクトを返します。これは共有ストレージ API を使用して共有ストレージにデータを書き込むためのメインエントリーポイントです。 Window.speechSynthesis読取専用-
SpeechSynthesisオブジェクトを返します。これは、ウェブ発声 API の音声合成機能を使用するためのエントリーポイントです。 Window.statusbar読取専用-
statusbar オブジェクトを返します。
Window.toolbar読取専用-
toolbar オブジェクトを返します。
Window.top読取専用-
ウィンドウ階層における最上位のウィンドウへの参照を返します。このプロパティは読み取り専用です。
Window.trustedTypes読取専用-
グローバルオブジェクトに関連付けられた
TrustedTypePolicyFactoryオブジェクトを返します。これは信頼型 API を使用するためのエントリーポイントです。 Window.visualViewport読取専用-
指定したウィンドウの視覚的なビューポートを表す
VisualViewportオブジェクトを返します。 Window.window読取専用-
現在のウィンドウへの参照を返します。
window[0]、window[1]など-
フレーム内の
windowオブジェクトへの参照を返します。詳しくはWindow.framesをご覧ください。
非推奨のプロパティ
Window.event非推奨; 読取専用-
現在のイベントを返します。これは現在 JavaScript のコードのコンテキストが処理しているイベントです。また、現在処理しているイベントがない場合は
undefinedを返します。可能な限り、イベントハンドラーに直接渡したEventオブジェクトを代わりに使用してください。 Window.external非推奨; 読取専用-
外部の検索プロバイダーをブラウザーに追加するための関数を持つオブジェクトを返します。
Window.orientation非推奨; 読取専用-
端末の自然な方向に対するビューポートの方向を度単位(90 度単位で増加)で返します。
Window.status非推奨;-
ブラウザー下部のステータスバーのテキストを取得 / 設定します。
インスタンスメソッド
このインターフェイスは EventTarget インターフェイスからメソッドを継承しています。
Window.atob()-
Base64 エンコーディングを使用してエンコードされたデータの文字列をデコードします。
Window.alert()-
警告ダイアログを表示します。
Window.blur()非推奨;-
ウィンドウからフォーカスを外します。
Window.btoa()-
バイナリーデータを Base64 でエンコードした ASCII 文字列を生成します。
Window.cancelAnimationFrame()-
Window.requestAnimationFrameによって過去にスケジューリングされたコールバックをキャンセルできます。 Window.cancelIdleCallback()-
Window.requestIdleCallbackによって過去にスケジューリングされたコールバックをキャンセルできます。 Window.clearInterval()-
Window.setInterval()で繰り返し実行されるよう設定された命令をキャンセルします。 Window.clearTimeout()-
Window.setTimeout()で遅延実行するよう設定した命令をキャンセルします。 Window.close()-
現在のウィンドウを閉じます。
Window.confirm()-
ユーザーの応答が必要なメッセージを持つダイアログを表示します。
Window.createImageBitmap()-
さまざまな画像ソースを受け入れ、
ImageBitmapに解決されるPromiseを返します。任意で、始点 (sx, sy) から幅 sw、高さ sh の長方形でソースを切り抜くことができます。 Window.dump()非標準-
コンソールにメッセージを出力します。
Window.fetch()-
ネットワークからリソースを取り込む処理を開始します。
Window.fetchLater()Experimental-
遅延フェッチを作成します。これは、このページから移動したとき (ページが破棄されたり、 bfcache に入ったとき)、または指定された
activateAfterタイムアウト後に、いずれか早い方で送信されます。 Window.find()非標準-
ウィンドウ内で指定された文字列を検索します。
Window.focus()-
現在のウィンドウにフォーカスを当てます。
Window.getComputedStyle()-
特定の要素の計算済みスタイルを取得します。計算済みスタイルは、要素のすべての CSS プロパティの計算値を示します。
Window.getDefaultComputedStyle()非標準-
特定の要素について、作者のスタイルシートを無視したデフォルトの計算済みスタイルを取得します。
Window.getScreenDetails()Experimental 安全なコンテキスト用-
ユーザーの端末で利用できるすべての画面の詳細を表す
ScreenDetailsオブジェクトインスタンスで履行されるPromiseを返します。 Window.getSelection()-
選択されたアイテムを表す、セレクションオブジェクトを返します。
Window.matchMedia()-
指定したメディアクエリー文字列を表す
MediaQueryListオブジェクトを返します。 Window.moveBy()-
現在のウィンドウを指定した距離移動します。
Window.moveTo()-
ウィンドウを指定した位置に移動します。
Window.open()-
新しいウィンドウを開きます。
Window.postMessage()-
あるウィンドウから別のウィンドウへ、安全にデータ文字列を送信する手段を提供します。送信先ウィンドウは、送信元と同じドメインでなくてもかまいません。
Window.print()-
現在の文書を印刷するためのダイアログを開きます。
Window.prompt()-
ユーザーが入力ダイアログに入力したテキストを返します。
Window.queryLocalFonts()Experimental 安全なコンテキスト用-
ローカルで利用できるフォントフェイスを表す
FontDataオブジェクトの配列で履行されたPromiseを返します。 Window.queueMicrotask()-
ブラウザーのイベントループに制御を返す前に、安全な時点で実行されるマイクロタスクをキューに入れます。
Window.reportError()-
処理されない例外をエミュレートして、スクリプトのエラーを報告します。
Window.requestAnimationFrame()-
アニメーションが進行中であることをブラウザーに伝えて、次のアニメーションフレームのためにウィンドウの再描画を予定するよう要求します。
Window.requestIdleCallback()-
ブラウザーがアイドル状態であるときに実行するタスクをスケジューリングします。
Window.resizeBy()-
現在のウィンドウを、指定した大きさの分だけ変更します。
Window.resizeTo()-
ウィンドウを動的にリサイズします。
Window.scroll()-
ウィンドウを文書内の特定の位置にスクロールします。
Window.scrollBy()-
ウィンドウ内の文書を、指定した距離の分だけスクロールします。
Window.scrollByLines()非標準-
文書を指定した行数分、スクロールします。
Window.scrollByPages()非標準-
文書を指定したページ数分、スクロールします。
Window.scrollTo()-
文書内の特定の位置に、ウィンドウをスクロールします。
Window.setInterval()-
ミリ秒単位で指定した時間が経過するたびに関数を実行するようスケジューリングします。
Window.setTimeout()-
指定した時間が経過したら関数を実行するようスケジューリングします。
Window.showDirectoryPicker()Experimental 安全なコンテキスト用-
ユーザーがディレクトリーを選択できるディレクトリーピッカーを表示します。
Window.showOpenFilePicker()Experimental 安全なコンテキスト用-
ユーザーがファイルまたは複数のファイルを選択できるファイルピッカーを表示します。
Window.showSaveFilePicker()Experimental 安全なコンテキスト用-
ユーザーがファイルを保存できるファイルピッカーを表示します。
Window.sizeToContent()非標準-
コンテンツに応じてウィンドウのサイズを調整します。
Window.stop()-
ウィンドウの読み込み処理を停止します。
Window.structuredClone()-
指定された値のディープクローンを、構造化クローンアルゴリズムを用いて作成します。
非推奨のメソッド
Window.captureEvents()非推奨;-
特定の種類のイベントをすべてキャプチャするよう、ウィンドウに登録します。
Window.clearImmediate()非標準 非推奨;-
setImmediate()で設定した繰り返し処理をキャンセルします。 Window.releaseEvents()非推奨;-
特定の種類のイベントのキャプチャを解放します。
Window.requestFileSystem()非標準 非推奨;-
ウェブサイトやアプリが自分自身で使用するためにサンドボックス化されたファイルシステムにアクセスすることができます。
Window.setImmediate()非標準 非推奨;-
ブラウザーで他の高負荷なタスクが完了した後に、関数を実行します。
Window.setResizable()非標準 非推奨;-
ユーザーがウィンドウをリサイズできるかを切り替えます。
Window.showModalDialog()非標準 非推奨;-
モーダルダイアログを表示します。
Window.webkitConvertPointFromNodeToPage()非標準 非推奨;-
ノードの座標系からページの座標系へ
WebKitPointを変換します。 Window.webkitConvertPointFromPageToNode()非標準 非推奨;-
ページの座標系からノードの座標系へ
WebKitPointを変換します。
イベント
これらのイベントを待ち受けするには、 addEventListener() を使用するか、イベントリスナーをこのインターフェイスの onイベント名 プロパティに代入するかしてください。下記の一覧のイベントに加えて、多くのイベントがウィンドウオブジェクトに格納されている Document からバブリングしてくる可能性があります。
error-
リソースの読み込みに失敗したか、利用できないときに発生します。例えば、スクリプトに実行エラーがあった場合や、画像が見つからなかったり、無効であったりした場合です。
languagechange-
ユーザーの推奨される言語が変更されたときに、グローバルスコープオブジェクトに発生します。
resize-
ウィンドウのサイズが変更されたときに発行されます。
storage-
ストレージ領域 (
localStorageまたはsessionStorage) が他の文書のコンテキストから変更されたときに発生します。
クリップボードイベント
接続イベント
端末方向イベント
devicemotion安全なコンテキスト用-
定期的に発生し、利用できる場合は、端末にかかっている物理的な加速度の量と傾きを示します。
deviceorientation安全なコンテキスト用-
現在の端末の向きを地球の座標軸と比較する時期包囲センサーから新しいデータが利用できるようになったときに発生します。
deviceorientationabsolute安全なコンテキスト用-
磁力計の方位センサーから、地球座標フレームと比較した端末の現在の絶対方位に関する新しいデータが利用できる場合に発行されます。
フォーカスイベント
ゲームパッドイベント
gamepadconnected-
ゲームパッドが接続された、またはゲームパッドのボタンや軸が初めて使用されたことをブラウザーが検出したときに発生します。
gamepaddisconnected-
ゲームパッドが切断されたことをブラウザーが検出したときに発生します。
履歴イベント
hashchange-
URL のフラグメント識別子 (URL の中で
#記号で始まり、それに続く部分) が変化したときに発生します。 pagehide-
ブラウザーが現在の文書を非表示にして、その場所にセッションの履歴とは異なる文書を表示するよう切り替えているときに送信されます。これはたとえば、ユーザーが「戻る」ボタンをクリックしたとき、または「進む」ボタンをクリックしてセッション履歴を先に進めたときに発生します。
pagereveal-
ネットワークから新しい文書を読み込んだとき、または文書をアクティブにしたとき(バック/フォワードキャッシュ (bfcache) または事前レンダリングから)に、文書が最初にレンダリングされるときに発行されます。
pageshow-
ページが最初に読み込まれたときだけでなく、ユーザーが同じタブ内で別のページに移動した後にページに戻ったときなど、ナビゲーションタスクのためにブラウザーが文書を表示するときに送信されます。
pageswap-
ナビゲーションにより文書がアンロードされようとしたときに発行されます。
popstate-
アクティブな履歴項目が変化したときに発生します。
ロード・アンロードイベント
beforeunload-
ウィンドウ、文書、そのリソースがアンロードされるときに発生します。
load-
スタイルシートや画像などの依存するすべてのリソースを含め、ページ全体の読み込みが完了したときに発生します。
unload-
文書や子リソースがアンロードされるときに発生します。
マニフェストイベント
appinstalled-
ブラウザーがページをアプリケーションとしてインストールすることに成功したときに発生します。
beforeinstallprompt-
ウェブアプリケーションをインストールすることをユーザーに問い合わせようとするときに発生します。
メッセージイベント
message-
ウィンドウがメッセージを受け取ったとき、例えば他のブラウザーのコンテキストから
Window.postMessage()が呼び出された時に発生します。 messageerror-
Windowオブジェクトが復元できないメッセージを受信したときに発生します。
印刷イベント
afterprint-
関連づけられた文書の印刷が始まったか、印刷プレビューが閉じた後に発生します。
beforeprint-
関連づけられた文書の印刷が始まるか、印刷プレビューが表示されるときに発生します。
プロミス拒否イベント
rejectionhandled-
拒否を処理するハンドラーがあるかどうかにかかわらず、 JavaScript の
Promiseが拒否されるたびに送られます。 unhandledrejection-
JavaScript の
Promiseが拒否されたものの、拒否を処理するハンドラーがないときに送られます。
スクロールイベント
scrollsnapchangeExperimental-
スクロール操作の終わりに、新しいスクロールスナップターゲットが選択されたときに、スクロールコンテナーで発行されます。
scrollsnapchangingExperimental-
新しいスクロールスナップターゲットが待機しているとブラウザーが判断したときに、スクロールコンテナーで発行されます。つまり、現在のスクロール操作が終わると選択されます。
非推奨のイベント
orientationchange非推奨;-
端末の向きが変化したときに発生します。
vrdisplayactivate非推奨; 非標準-
ディスプレイが表示できるようになったときに発行されます。
vrdisplayconnect非推奨; 非標準-
対応する VR 機器が接続されている場合に発行されます。
vrdisplaydisconnect非推奨; 非標準-
対応する VR 機器がコンピューターから切り離されたときに発行されます。
vrdisplaydeactivate非推奨; 非標準-
ディスプレイが表示されなくなったときに発行されます。
vrdisplaypresentchange非推奨; 非標準-
VR 機器の表示状態が変化したとき(表示から非表示、または非表示から非表示になったとき)に発行されます。
バブリングするイベント
バブリングするイベントすべてが Window オブジェクトに到達するわけではありません。 Window オブジェクトで待ち受けすることができるのは、以下のイベントだけです。
abortauxclickbeforeinputbeforematchbeforetogglecancelcanplaycanplaythroughchangeclickclosecontextlostcontextmenucontextrestoredcopycuechangecutdblclickdragdragenddragenterdragleavedragoverdragstartdropdurationchangeemptiedendedformdatainputinvalidkeydownkeypresskeyuploadeddataloadedmetadataloadstartmousedownmouseentermouseleavemousemovemouseoutmouseovermouseuppastepauseplayplayingprogressratechangeresetscrollendsecuritypolicyviolationseekedseekingselectslotchangestalledsubmitsuspendtimeupdatetogglevolumechangewaitingwheel
インターフェイス
DOM リファレンスをご覧ください。
Window でのイベントの待ち受け
HTML 要素には、イベントを待ち受ける 3 つの方法があります。
EventTarget.addEventListenerメソッドを用いて、イベントリスナーを要素へ追加する。- JavaScript で、要素の
onイベント名プロパティにイベントハンドラーを代入する。 - HTML で、
onの接頭辞の付いた属性を要素へ追加する。
Window オブジェクトのイベントを待ち受けするには、一般的には最初の 2 つの方法しか使用できません。これは、 Window には対応する HTML 要素がないためです。ただし、2 番目または 3 番目の方法を使用して、 Window の文書が持つ <body> (または非推奨の <frameset>)要素にリスナーを追加できる、特定のイベントグループがあります。これらのイベントは次のとおりです。
afterprintbeforeprintbeforeunloadblurerrorfocushashchangelanguagechangeloadmessagemessageerrorofflineonlinepagehidepagerevealpageshowpageswappopstaterejectionhandledresizescrollstorageunhandledrejectionunload
つまり、次の 2 つは厳密に同等です。
window.onresize = (e) => console.log(e.currentTarget);
document.body.onresize = (e) => console.log(e.currentTarget);
<body onresize="console.log(event.currentTarget)"></body>
3 つのケースすべてで、Window オブジェクトが currentTarget としてログ出力されています。
仕様書
| Specification |
|---|
| HTML> # the-window-object> |
ブラウザーの互換性
Loading…