recursal/MDN huggingface dataset:
Window.captureEvents()
======================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

 **非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`Window.captureEvents()`** メソッドは、指定した種類のすべてのイベントをキャプチャするように、そのウィンドウを登録します。

構文
--


```js
window.captureEvents(eventType);
```


`eventType` は、 `Event.ABORT`, `Event.BLUR`, `Event.CLICK`, `Event.CHANGE`, `Event.DBLCLICK`, `Event.DRAGDDROP`, `Event.ERROR`, `Event.FOCUS`, `Event.KEYDOWN`, `Event.KEYPRESS`, `Event.KEYUP`, `Event.LOAD`, `Event.MOUSEDOWN`, `Event.MOUSEMOVE`, `Event.MOUSEOUT`, `Event.MOUSEOVER`, `Event.MOUSEUP`, `Event.MOVE`, `Event.RESET`, `Event.RESIZE`, `Event.SELECT`, `Event.SUBMIT`, `Event.UNLOAD` の値の組み合わせを取ります。

例
-


```html
<!doctype html>
<html lang="en">
  <head>
    <!-- ... -->
    <script>
 function reg() {
 window.captureEvents(Event.CLICK);
 window.onclick = page\_click;
 }

 function page\_click() {
 alert("ページクリックイベントが検出されました！");
 }
 </script>
  </head>

  <body onload="reg();">
    <p>click anywhere on this page.</p>
  </body>
</html>
```

### 注

ユーザーの操作によって DOM 内で発生したイベント (ボタンのクリックや現在の文書からのフォーカス移動など) は、通常、イベントを開始したオブジェクトに到達する前に、まず高レベルの `window` や `document` オブジェクトを通過します。

`window` の `captureEvents()` メソッドを呼び出すと、指定した種類のイベント (例えば `Event.CLICK`) は、階層内の「下位」オブジェクトに通過しなくなります。イベントを通常のように「バブルアップ」させるためには、 `window.releaseEvents()` (
非推奨
) を window 上で呼び出し、イベントをトラップしないようにしなければなりません。

 なお、次の構文を使用することでこのメソッドにイベントのリストを渡すことができます。
 `window.captureEvents(Event.KEYPRESS | Event.KEYDOWN | Event.KEYUP)`.

仕様書
---

どの仕様書にも含まれていません。
Window.console
==============

読み取り専用プロパティの **`Window.console`** は、ブラウザーのコンソールへ情報を出力するメソッドを提供する`Console`オブジェクトへの参照を返します。これらのメソッドで出力される情報はデバッグ目的のものであり、ユーザーへ情報を提示するために使われるべきではありません。

構文
--


```js
var consoleObj = window.console;
```

例
-

### コンソールへの出力

一つ目の例はテキストをコンソールに出力します。


```js
console.log("An error occurred while loading the content");
```


次の例では開閉ウィジェットによって要素が展開可能な状態でオブジェクトをコンソールに出力します。


```js
console.dir(someObject);
```


より詳細な例については `console` の記事内の例をご参照ください。

仕様書
---

| Specification |
| --- |
| Console Standard  |

**メモ:** 現在はブラウザー間で多くの実装の違いがありますが、それらを統合して互いの一貫性を高める作業が進められています。
Window: statusbar プロパティ
=======================

`statusbar` オブジェクトを返します。

これは `Window` プロパティのうちの論理値を持つ `visible` プロパティの 1 つであり、ウェブブラウザーのユーザーインターフェイスの特定の部分が可視であるかどうかを表すものでした。

プライバシーと相互運用性の理由から、これで `visible` プロパティの値は、この `Window` がポップアップの場合は `false` となり、そうでない場合は `true` となるようになりました。

構文
--

単一のプロパティを持つオブジェクトです。

`visible` 読取専用 

論理値のプロパティで、 `false` は `Window` がポップアップの場合、 `true` はそれ以外を表します。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-window-statusbar-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `window.locationbar`
* `window.menubar`
* `window.personalbar`
* `window.scrollbars`
* `window.toolbar`
requestIdleCallback
===================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`window.requestIdleCallback()`** メソッドを利用すると、ブラウザーがアイドル状態の時に実行される関数をキューに登録できます。これにより、アニメーションや入力への応答など、遅延が問題となる処理に影響を与えることなく、優先度の低いバックグラウンド処理をメインスレッド内で実行させられます。キューに登録された関数は、関数登録時に設定したタイムアウト時間（`timeout`）に達していない限り、登録順に呼び出されます。

`requestIdleCallback()` をアイドルコールバック関数からコールし、次のイベントループ以降で実行されるようにスケジュールもできます。

**メモ:** `timeout` は必須のタスクにおいては設定することを強くおすすめします。設定しない場合、コールバックが実行するまでに数秒かかってしまう可能性もあるからです。

構文
--
```

var handle = window.requestIdleCallback(callback[, options])
```

### 返り値

`Window.cancelIdleCallback()` (en-US) メソッドで、実行をキャンセルする際に使用する ID を返します。

### 引数

`callback`

イベントループがアイドル状態のときに実行したい関数への参照。コールバック関数には `IdleDeadline` (en-US) オブジェクトが渡されます。これはアイドル状態の際に余っている時間と、コールバックが実行されたかされていないかを示します。コールバックの実行有無は、タイムアウト期間が終了してしまったかどうかに左右されます。

`options` 省略可

任意の設定パラメータです。現在はひとつのプロパティのみ定義されています。

* `timeout`：`timeout` に正の値が指定され、かつコールバックがその値の期間（ミリ秒）内に実行されていない場合、コールバックは次のアイドル期間に実行されます。それがパフォーマンスに悪影響があったとしても、それを加味することはありません。

例
-

Cooperative Scheduling of Background Tasks API (en-US)の記事で、例を一式 (en-US)紹介しています。

仕様
--

| Specification |
| --- |
| requestIdleCallback() Cooperative Scheduling of Background Tasks # the-requestidlecallback-method |

ブラウザ互換性
-------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `window.cancelIdleCallback()` (en-US)
* `IdleDeadline` (en-US)
* `window.setTimeout()`
* `window.setInterval()`
* `window.requestAnimationFrame`
Window: deviceorientationabsolute イベント
======================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`deviceorientationabsolute`** イベントは、端末の絶対的な方向が変化したときに発行されます。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` 等のメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("deviceorientationabsolute", (event) => {});

ondeviceorientationabsolute = (event) => {};
```

イベント型
-----

`DeviceOrientationEvent` です。 `Event` から継承しています。

Event

DeviceOrientationEventイベントプロパティ
---------

`DeviceOrientationEvent.absolute` 読取専用 

論理値で、端末が絶対に方向データを提供するかどうかを示します。

`DeviceOrientationEvent.alpha` 読取専用 

数値で、端末の Z 軸の回転量を表し、 0 （含む）から 360 （含まない）までの範囲の値で表します。

`DeviceOrientationEvent.beta` 読取専用 

数値で、端末の X 軸の回転量を表し、 -180 （含む）から 180 （含まない）までの範囲の値で表します。これは端末の前後方向の動きを表します。

`DeviceOrientationEvent.gamma` 読取専用 

数値で、端末の Z 軸の回転量を表し、 -90 （含む）から 90 （含まない）までの範囲の値で表します。これは端末の左右方向の動きを表します。

`DeviceOrientationEvent.webkitCompassHeading` 
Non-standard
 読取専用 

数値で、ワールドシステムの Z 軸を中心とした端末の動きと北の方向との差を表し、 0 から 360 の範囲の値で度数で表します。

`DeviceOrientationEvent.webkitCompassAccuracy` 
Non-standard
 読取専用 

コンパスの精度で、偏差が正の値または負の値を意味しています。通常は 10 です。

仕様書
---

| Specification |
| --- |
| DeviceOrientation Event Specification # dom-window-ondeviceorientationabsolute |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `devicemotion` イベント
* `deviceorientation` イベント
* 端末の方向の検出
Window.customElements
=====================

Limited availability
--------------------

This feature is not Baseline because it does not work in some of the most widely-used browsers.

* Learn more
* See full compatibility
* Report feedback
**`customElements`** は `Window` インターフェイスの読み取り専用プロパティで、 `CustomElementRegistry` オブジェクトへのリファレンスを返します。これにより、新しいカスタム要素を登録したり、以前に登録したカスタム要素に関する情報を取得したりすることができます。

例
-

このプロパティが使われている最も一般的な例は、新しいカスタム要素を定義・登録するために `CustomElementRegistry.define()` メソッドにアクセスすることです。例えば次のようにします。


```js
let customElementRegistry = window.customElements;
customElementRegistry.define("my-custom-element", MyCustomElement);
```


しかし、ふつうは以下のように短縮します。


```js
customElements.define(
  "element-details",
  class extends HTMLElement {
    constructor() {
      super();
      const template = document.getElementById(
        "element-details-template",
      ).content;
      const shadowRoot = this.attachShadow({ mode: "open" }).appendChild(
        template.cloneNode(true),
      );
    }
  },
);
```


web-components-examples リポジトリーにより多くの使用例がありますので参照してください。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-window-customelements |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Window.status
=============

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`status`** は `Window` インターフェイスのプロパティで、もともとブラウザーウィンドウの最下部にあるステータスバーのテキストを設定するためのものでした。しかし、 HTML 標準は `window.status` に設定してもステータスバーに表示されるテキストには影響させないよう要求しています。

構文
--


```js
window.status = string;
var value = window.status;
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-window-status |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
window.scrollY
==============

`Window` インターフェイスの読み取り専用プロパティである **`scrollY`** は、文書が現在垂直方向にスクロールしているピクセル数を返します。最近のブラウザーでは、この値はサブピクセル精度ですので、必ずしも整数であるとは限りません。文書が水平方向にスクロールしているピクセル数は `scrollX` プロパティで取得できます。

構文
--
```

var y = window.scrollY
```

### 値

実際に返される値は、文書が原点から垂直方向にスクロールした量をピクセル数で表す倍精度浮動小数点値であり、正の値は、内容物が上にスクロールしていることを表します。文書がサブピクセル精度の端末に表示されている場合は、返値も小数部を含むサブピクセル精度の値になります。文書が上にも下にもスクロールしていない場合、 `scrollY` は 0 になります。

**メモ:** 整数値が必要である場合は、 `Math.round()` を使用して四捨五入してください。

専門用語で説明すると `scrollY` は、現在の ビューポート の上端の Y 座標を返します。ビューポートがない場合の戻り値は 0 です。

例
-


```js
// スクロールしている場合、戻してから次のページへスクロールダウン
if (window.scrollY) {
  window.scroll(0, 0); //文書の左上にスクロール位置をリセット
}

window.scrollByPages(1);
```

メモ
--

`scrollBy()`、`scrollByLines()`、`scrollByPages()` のような相対スクロールする関数を使用する際に、文書がすでにスクロールしていないかをチェックするためにこのプロパティを使用してください。

`pageYOffset` プロパティは、`scrollY` プロパティのエイリアスです。


```js
window.pageYOffset === window.scrollY; // 常に true
```


クロスブラウザー互換性のため、`window.scrollY` ではなく `window.pageYOffset` を使用します。*さらに*、古いバージョンの Internet Explorer (IE9 以前) はいずれもサポートしていないため、チェックの上、なければ他の非標準の方法で回避する必要があります。以下に互換性を確保した例を示します。


```js
var supportPageOffset = window.pageXOffset !== undefined;
var isCSS1Compat = (document.compatMode || "") === "CSS1Compat";

var x = supportPageOffset
  ? window.pageXOffset
  : isCSS1Compat
    ? document.documentElement.scrollLeft
    : document.body.scrollLeft;
var y = supportPageOffset
  ? window.pageYOffset
  : isCSS1Compat
    ? document.documentElement.scrollTop
    : document.body.scrollTop;
```

仕様書
---

| Specification |
| --- |
| CSSOM View Module # dom-window-scrolly |

ブラウザーの対応
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `window.scrollX`
Window.scrollMaxX
=================

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`Window.scrollMaxX`** は読み取り専用プロパティで、文書が横方向にスクロールできる最大ピクセル数を返します。

構文
--


```js
xMax = window.scrollMaxX;
```


* `xMax` はピクセル数です。
例
-


```js
// ページの右端までスクロールする
let maxX = window.scrollMaxX;

window.scrollTo(maxX, 0);
```

注
-

このプロパティを、文書の全体の幅を取得するためには使用しないでください。これは window.innerWidth + window.scrollMaxX とは等しくありません。これは `window.innerWidth` には表示中の垂直スクロールバーがすべて含まれるからであり、結果は文書の幅よりすべての表示中の垂直スクロールバーの幅だけ大きくなります。代わりに `document.body.scrollWidth` を使用してください。 `window.scrollMaxY` も参照してください。

仕様書
---

どの仕様書にも含まれていません。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Window: vrdisplayactivate イベント
==============================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`vrdisplayactivate`** は WebVR API のイベントで、 VR ディスプレイが表示可能になったときに発生します。例えば、 HMD がスタンバイ状態から移行した場合、あるいは装着されて起動した場合など、表示することが可能な状態になったときです。

**メモ:** このイベントは古い WebVR API の一部でした。これは WebXR 機器 API に置き換えられました。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("vrdisplayactivate", (event) => {});

onvrdisplayactivate = (event) => {};
```

イベント型
-----

`VRDisplayEvent` です。 `Event` を継承しています。

イベントプロパティ
---------

*`VRDisplayEvent` は親オブジェクトである `Event` からプロパティを継承しています。*

`VRDisplayEvent.display` 
非推奨
 読取専用 

このイベントに関連付けられた `VRDisplay` です。

`VRDisplayEvent.reason` 
非推奨
 読取専用 

このイベントが発生した理由を人間可読な形で示します。

例
-

`vrdisplayactivate` イベントは `addEventListener` メソッドで使用することができます。


```js
window.addEventListener("vrdisplayactivate", () => {
  info.textContent = "Display activated.";
  reportDisplays();
});
```


または、 `onvrdisplayactivate` イベントハンドラープロパティを使用してください。


```js
window.onvrdisplayactivate = () => {
  info.textContent = "Display activated.";
  reportDisplays();
};
```

仕様書
---

このイベントは古い WebVR API の一部であり、これは WebXR 機器 API で置き枯れられました。標準規格になる見込みはありません。

すべてのブラウザーが新しい WebXR API を実装するまで、 A-Frame、Babylon.js、Three.js などのフレームワークを使用するか、ポリフィルを使用することが、すべてのブラウザーで動作する WebXR アプリを開発する上で推奨されます。[1]

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
Window: rejectionhandled イベント
=============================

**`rejectionhandled`** イベントは、 JavaScript の `Promise` が拒否されたものの、その後で Promise の拒否が処理された場合にスクリプトのグローバルスコープ (ふつうは `window` だが `Worker` の場合もある) に送られます。これは、 Promise が拒否されたが拒否の手助けがないときに送信される `unhandledrejection` イベントと並行して、デバッグや一般的なアプリケーションの回復に使用できます。

|  |  |
| --- | --- |
| バブリング | なし |
| キャンセル可能 | いいえ |
| インターフェイス | `PromiseRejectionEvent` |
| イベントハンドラープロパティ | `onrejectionhandled` |

例
-

`rejectionhandled` イベントを使用して、拒否された Promise を、拒否された理由を添えてコンソールに出力することができます。


```js
window.addEventListener(
  "rejectionhandled",
  (event) => {
    console.log("Promise rejected; reason: " + event.reason);
  },
  false,
);
```

仕様書
---

| Specification |
| --- |
| HTML Standard # unhandled-promise-rejections |
| HTML Standard # handler-window-onrejectionhandled |

ブラウザーの対応
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* プロミスの拒否イベント
* `PromiseRejectionEvent`
* `Promise`
* `unhandledrejection`
Window.screen
=============

`Window` の **`screen`** プロパティは、ウィンドウに関連付けられた画面オブジェクトへの参照を返します。 `screen` オブジェクトは `Screen` インターフェースを実装しており、現在のウィンドウがレンダリングされている画面のプロパティを検査するための特別なオブジェクトです。

構文
--
```

let screenObj = window.screen;
```

例
-


```js
if (screen.pixelDepth < 8) {
  // use low-color version of page
} else {
  // use regular, colorful page
}
```

仕様書
---

| Specification |
| --- |
| CSSOM View Module # dom-window-screen |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Window: vrdisplaydisconnect イベント
================================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`vrdisplaydisconnect`** は WebVR API のイベントで、互換性のある VR 機器がこのコンピューターから取り外されたときに発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("vrdisplaydisconnect", (event) => {});

onvrdisplaydisconnect = (event) => {};
```

イベント型
-----

`VRDisplayEvent` です。 `Event` を継承しています。

イベントプロパティ
---------

*`VRDisplayEvent` は親オブジェクトである `Event` からプロパティを継承しています。*

`VRDisplayEvent.display` 
非推奨
 読取専用 

このイベントに関連付けられた `VRDisplay` です。

`VRDisplayEvent.reason` 
非推奨
 読取専用 

このイベントが発生した理由を人間可読な形で示します。

例
-

`vrdisplaydisconnect` イベントは `addEventListener` メソッドで使用することができます。

**メモ:** このイベントは古い WebVR API の一部でした。これは WebXR 機器 API に置き換えられました。


```js
window.addEventListener("vrdisplaydisconnect", () => {
  info.textContent = "Display disconnected.";
  reportDisplays();
});
```


または、 `onvrdisplaydisconnect` イベントハンドラープロパティを使用してください。


```js
window.onvrdisplaydisconnect = () => {
  info.textContent = "Display disconnected.";
  reportDisplays();
};
```

仕様書
---

このイベントは古い WebVR API の一部であり、これは WebXR 機器 API で置き枯れられました。標準規格になる見込みはありません。

すべてのブラウザーが新しい WebXR API を実装するまで、 A-Frame、Babylon.js、Three.js などのフレームワークを使用するか、ポリフィルを使用することが、すべてのブラウザーで動作する WebXR アプリを開発する上で推奨されます。[1]

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
window.name
===========

ウィンドウ名を取得 / 設定します。

値
-

文字列。

構文
--


```js
string = window.name;
window.name = string;
```

例
-


```js
window.name = "lab\_view";
```

注記
--

ウィンドウ名は、主にハイパーリンクとフォームのターゲットを設定するために使われます。ウィンドウは必ずしもウィンドウ名を持つ必要はありません。

現代のブラウザーは、タブが他のドメインのページを読み込むと `Window.name` を空文字列に設定し、元のページが (例えば「戻る」ボタンを押すことにより) 再び読み込まれると名前を復元します。このことにより、信頼されていないページが、前のページがこのプロパティに保存していた可能性があるいかなる情報にもアクセスできないようにします。(新しいページがこのようなデータを書き換え、それが再び読み込まれた元のページによって読まれる、という可能性も考えられます)

`Window.name` はまた、いくつかのフレームワーク ( SessionVars や Dojo の dojox.io.windowName など) によって JSONP のより安全な代替としてクロスドメインメッセージングを実現するために使われています。しかし、現代の機微なデータを扱うウェブアプリケーションは、クロスドメインメッセージングのために `window.name` に依存するべきではありません。なぜなら、これは意図された目的ではない上、ウィンドウ間での情報の共有にはより安全な/良い方法があります。`Window.postMessage()` の利用を推奨します。

**メモ:** `window.name` は保存される全ての値を `toString` メソッドにより文字列表現に変換します。

### 例


```html
<script>
 // 指定したウィンドウ名を持つタブを開く
 const otherTab = window.open("url1", "\_blank");
 if (otherTab) otherTab.name = "other-tab";
</script>
<a href="url2" target="other-tab">このリンクはもう一つのタブで開かれます。</a>
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-name-dev |
Window: menubar プロパティ
=====================

`menubar` オブジェクトを返します。

これは `Window` プロパティのうちの論理値を持つ `visible` プロパティの 1 つであり、ウェブブラウザーのユーザーインターフェイスの特定の部分が可視であるかどうかを表すものでした。

プライバシーと相互運用性の理由から、これで `visible` プロパティの値は、この `Window` がポップアップの場合は `false` となり、そうでない場合は `true` となるようになりました。

構文
--

単一のプロパティを持つオブジェクトです。

`visible` 読取専用 

論理値のプロパティで、 `false` は `Window` がポップアップの場合、 `true` はそれ以外を表します。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-window-menubar-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `window.locationbar`
* `window.personalbar`
* `window.scrollbars`
* `window.statusbar`
* `window.toolbar`
Window: beforeprint イベント
========================

**`beforeprint`** イベントは、関連する文書が印刷される直前や、印刷プレビューが開く直前に発生します。

|  |  |
| --- | --- |
| バブリング | いいえ |
| キャンセル | 不可 |
| インターフェイス | `Event` |
| イベントハンドラープロパティ | `onbeforeprint` |

例
-

`addEventListener()` の使用例:


```js
window.addEventListener("beforeprint", (event) => {
  console.log("Before print");
});
```


`onbeforeprint` イベントハンドラープロパティの使用例:


```js
window.onbeforeprint = (event) => {
  console.log("Before print");
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-beforeprint |
| HTML Standard # handler-window-onbeforeprint |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 関連イベント: `afterprint`
Window: appinstalled イベント
=========================

**`appinstalled`** はウェブマニフェスト API のイベントで、ブラウザーがあるページをアプリケーションとして成功裏にインストールしたとき発行されます。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("appinstalled", (event) => {});

onappinstalled = (event) => {};
```

イベント型
-----

一般的な `Event` です。

例
-

`appinstalled` イベントは `addEventListener` メソッドで使用することができます。


```js
window.addEventListener("appinstalled", () => {
  console.log("アプリをインストールしてくれてありがとう！");
});
```


または `onappinstalled` イベントハンドラープロパティを使用してください。


```js
window.onappinstalled = () => {
  console.log("アプリをインストールしてくれてありがとう！");
};
```

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Window: devicemotion イベント
=========================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`devicemotion`** イベントは、一定の間隔で発行され、その時点で端末が受けている加速度の物理的な力の量を示します。また、利用可能であれば、回転速度に関する情報も提供します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` 等のメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("devicemotion", (event) => {});

ondevicemotion = (event) => {};
```

イベント型
-----

`DeviceMotionEvent` です。 `Event` から継承しています。

Event

DeviceMotionEventイベントプロパティ
---------

`DeviceMotionEvent.acceleration` 読取専用 

X、Y、Z の 3 軸上の端末の加速度を表すオブジェクトです。加速度は m/s² で表示されます。

`DeviceMotionEvent.accelerationIncludingGravity` 読取専用 

重力の影響を受けた X、Y、Z の 3 軸上の端末の加速度を表すオブジェクトです。加速度は m/s² で表示されます。

`DeviceMotionEvent.rotationRate` 読取専用 

アルファ、ベータ、ガンマの 3 つの方向軸における端末の向きの変化速度を表すオブジェクト。回転率は 1 秒あたりの度数で表現されます。

`DeviceMotionEvent.interval` 読取専用 

端末からデータを取得する時間間隔をミリ秒で表します。

例
-


```js
function handleMotionEvent(event) {
  const x = event.accelerationIncludingGravity.x;
  const y = event.accelerationIncludingGravity.y;
  const z = event.accelerationIncludingGravity.z;

  // 何か素晴らしいことをする
}

window.addEventListener("devicemotion", handleMotionEvent, true);
```

仕様書
---

| Specification |
| --- |
| DeviceOrientation Event Specification # devicemotion |
| DeviceOrientation Event Specification # ref-for-dom-window-ondevicemotion |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `deviceorientation`
* DeviceOrientation Event
window.dump()
=============

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

概要
--

(システムの) コンソールにメッセージを表示します。

構文
--
```

window.dump(message);

dump(message);
```


* `message` はログ出力するメッセージの文字列です。
注記
--

`dump`() の一般的な使い方は、JavaScript のデバッグです。Firefox のプロセスが `-console` オプション付きで開始された場合、`dump`() に渡されたメッセージは、システムコンソール (ネイティブのコンソール) に送信されます。`-console` オプションが指定されていない場合、stderr に出力されます。dump() からの出力は ブラウザコンソール に送信されません。ブラウザコンソール への出力は、console.log() を使用してください。特権コードは、`Components.utils.reportError` と `nsIConsoleService` を使用してメッセージを エラーコンソール / ブラウザコンソール にログ出力することもできます。

`dump`() は、JavaScript で実装された XPCOM コンポーネントでも使用できます。これは、`window` がコンポーネント内のグローバルオブジェクトでなくても使えます。また、sandboxes 内で明示的に使用可能にすることもできます。しかし、この `dump` の使用は、後述の設定に影響せず、常に表示されます。この設定を自分で確認するか、独自のデバッグ設定で、多くのデバッグコンテンツを、これらに興味のないユーザのコンソールに送信されないようにすることをおすすめします。ただし、XPCOM コンポーネントからの `dump` 出力は `stderr` へ送られますが、別の場所から呼び出された `dump` は `stdout` へ出力されるので注意してください。

Gecko の `dump()` は **既定で無効** です。実行しても何も起こらず、エラーも発生しません。`dump` 出力を見るには、about:config ページか user.js ファイル で、`browser.dom.window.dump.enabled` 設定の値を `true` にしなければなりません。注記: この設定は既定では `about:config` のリストに表示されないので、新たに作成してください (about:config ページのコンテンツ領域を右クリックし、"新規作成" から "真偽値" を選択します)。

Windows では、dump の出力を見るにはコンソールを開く必要があります。まだコンソールを開いていなければ、一旦アプリケーションを閉じ、コマンドライン引数に `-console` を追加して再度開いてください。アプリケーションと同時にコンソールが開きます。または、`-attach-console` を追加すると既存のコンソールを使用します。他のオペレーティングシステムでは、ターミナルからプリケーションを開くだけです。

コンソール出力をファイルへリダイレクトするには、Firefox を `-console` オプション*無し*で起動し、次のコマンドで stderr と stdout の出力をファイルへリダイレクトしてください:
```

firefox > console.txt 2>&1
```


**メモ:** コンソールメッセージを、アプリケーションを起動したコンソールに表示させたいときは、Gecko Console Redirector を使用してください。プリコンパイルされたバイナリが https://github.com/matthewkastor/Redirector/archive/master.zip の ZIP アーカイブ内の `Redirector-master\Gecko\Console Redirector\bin\Release` に含まれています。すべての dll ファイルと exe ファイルをお好みの場所にコピーしてください。次に、`Console Redirector.exe /?` を実行します。

仕様
--

これは、どの仕様にも含まれません。
FocusEvent.relatedTarget
========================

**`FocusEvent.relatedTarget`** は読み取り専用プロパティで、イベントの種類に応じた副ターゲットを表します。

| イベント名 | `target` | `relatedTarget` |
| --- | --- | --- |
| `blur` | フォーカスを失う `EventTarget` | フォーカスを受け取る `EventTarget` （存在する場合） |
| `focus` | フォーカスを受け取る `EventTarget` | フォーカスを失う `EventTarget` （存在する場合） |
| `focusin` | フォーカスを受け取る `EventTarget` | フォーカスを失う `EventTarget` （存在する場合） |
| `focusout` | フォーカスを失う `EventTarget` | フォーカスを受け取る `EventTarget` （存在する場合） |

なお、多くの要素はフォーカスを受け取ることができないことが、 `relatedTarget` が `null` になる良くある理由です。 `relatedTarget` はタブ移動でページをでたり入ったりする場合など、セキュリティ上の理由で `null` になることもあります。

`MouseEvent.relatedTarget` はマウスイベントにおける同様のプロパティです。

値
-

`EventTarget` のインスタンスです。

仕様書
---

| Specification |
| --- |
| UI Events # dom-focusevent-relatedtarget |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属する `FocusEvent` インターフェイス
FocusEvent()
============

**`FocusEvent()`** コンストラクターは、新しく作成された `FocusEvent` オブジェクトを返します。任意で `EventTarget` オブジェクトを指定することができます。イベントに送信元と送信先の両方がある場合、 `relatedTarget`の値は、もう一方のターゲットに設定する必要があります。

構文
--


```js
new FocusEvent(type)
new FocusEvent(type, options)
```

### 引数

*`FocusEvent()` コンストラクターは `UIEvent()` および `Event()` から引数を継承しています。*

`type`

 文字列で、このイベントの名前です。
 大文字小文字の区別があり、ブラウザーは `blur`、`focus`、`focusin`、`focusout` の何れかを設定します。


`options` 省略可

オブジェクトで、 *`UIEvent()` で定義されたプロパティに加え*、以下のプロパティを設定することができます。

`relatedTarget` 省略可

`EventTarget` で、 `FocusEvent` の第二ターゲットを表します。既定値は `null` です。


仕様書
---

| Specification |
| --- |
| UI Events # dom-focusevent-focusevent |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属する `FocusEvent` インターフェイス