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

`window.prompt()` は、ユーザーにテキストを入力するように促すダイアログをオプションのメッセージと共に表示し、ユーザーがテキストを送信するかダイアログをキャンセルするまで待機するようにブラウザーに指示します。

ある条件下では、例えば、ユーザーがタブを切り替えたとき、ブラウザーは実際にはダイアログを表示しないかもしれませんし、ユーザーがテキストを送信したり、ダイアログをキャンセルしたりするまで待たないかもしれません。

構文
--


```js
prompt()
prompt(message)
prompt(message, default)
```

### 引数

`message` 省略可

ユーザーに表示する文字列。プロンプトウィンドウに表示するものがない場合は省略可能です。

`default` 省略可

テキスト入力フィールドに表示される既定値を指定する文字列。 Internet Explorer 7 および 8 では、この引数を指定しなかった場合、文字列 `"undefined"` が既定値となることに注意してください。

### 返値

ユーザーが入力したテキストを含む文字列、または `null` です。

例
-


```js
let sign = prompt("What's your sign?");

if (sign.toLowerCase() == "scorpio") {
  alert("Wow! I'm a Scorpio too!");
}

// プロンプトの使い方には色々なものがあります。
sign = window.prompt(); // 空のプロンプトを表示
sign = prompt(); // 同上
sign = window.prompt("元気にしてる ?"); // 「元気にしてる ?」の文字列入りで表示
sign = window.prompt("元気にしてる ?", "元気だよ !"); // 「元気にしてる ?」 の文字列入りで、入力欄の初期値に「元気だよ !」を設定して表示
```


ユーザーが OK ボタンをクリックすると、入力フィールドに入力されたテキストが返ります。ユーザーがテキストを入力せずに OK をクリックする場合、空文字列が返ります。ユーザーがキャンセルボタンをクリックする場合、この関数は、 `null` を返します。

上記例のプロンプトは次のように表示されます（macOS の Chrome）。

![prompt() dialog in Chrome on macOS](/ja/docs/Web/API/Window/prompt/prompt.png)

メモ
--

プロンプトダイアログは、単一の行のテキストボックス、キャンセルボタン、OK ボタンを含み、ユーザーがテキストボックスに入力した（空の可能性もある）テキストを返します。

返値は文字列であることに注意してください。つまり、ユーザーから与えられた値をキャストする必要がある場合があります。例えば、答えが Number であるべきなら、その値を Number にキャストする必要があります。


```js
const aNumber = Number(window.prompt("Type a number", ""));
```


ダイアログボックスはモーダルウィンドウです。ダイアログボックスが閉じられるまで、ユーザーはプログラムの他のインターフェイスにアクセスすることができなくなります。このため、ダイアログボックス（またはモーダルウィンドウ）を作成する関数は、使いすぎないようにしましょう。

他にもユーザー入力には `<dialog>` 要素を使用することができます。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-prompt-dev |

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

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

関連情報
----

* `<dialog>` 要素
* `alert`
* `confirm`
window.matchMedia
=================

概要
--

指定された メディアクエリ文字列のパース結果を表す、新しい `MediaQueryList` オブジェクトを返します。

構文
--
```

mql = window.matchMedia(mediaQueryString)
```


`mediaQueryString` は、新しい `MediaQueryList` オブジェクトを返すための、メディアクエリ文字列です。

例
-


```js
if (window.matchMedia("(min-width: 400px)").matches) {
  /\* ビューポートの幅が 400 ピクセル以上の場合のコードをここに \*/
} else {
  /\* ビューポートの幅は 400 ピクセル未満の場合のコードをここに \*/
}
```


このコードでは、ウィンドウが非常に狭いときに、何か別の処理を行うことができます。

他にも『コード内でのメディアクエリの使用』にいくつか例があります。

仕様
--

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

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

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

関連記事
----

* メディアクエリ
* コード内でのメディアクエリの使用
* `MediaQueryList`
* `MediaQueryListListener` (en-US)
Window.event
============

`Window` の読み取り専用プロパティである **`event`** は、現在サイトのコードが処理している `Event` を返します。イベントハンドラーのコンテキスト外では、値が常に `undefined` になります。

新しいコードではこのプロパティの使用を*避けるべき*であり、代わりにイベントハンドラー関数になる `Event` を使用してください。このプロパティは広くサポートされておらず、またサポートされていてもコードが壊れやすくなるおそれがあります。

**メモ:** このプロパティは、返された `Event` が期待する値ではない状況になる場合があり、壊れやすい可能性があります。加えて `Window.event` は、shadow trees で発生したイベントに対して不適格です。

仕様
--

| Specification |
| --- |
| DOM Standard # dom-window-event |

ブラウザー実装状況
---------

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

関連情報
----

* `Event.srcElement`
window.cancelAnimationFrame()
=============================

**`window.cancelAnimationFrame()`** メソッドは、以前に `window.requestAnimationFrame()` の呼び出しによってスケジュールされたアニメーションフレームリクエストをキャンセルします。

構文
--


```js
cancelAnimationFrame(requestID)
```

### 引数

`requestID`

コールバックをリクエストした `window.requestAnimationFrame()` の呼び出しによって返された ID 値。

### 返値

なし (`undefined`)。

例
-


```js
const requestAnimationFrame =
  window.requestAnimationFrame ||
  window.mozRequestAnimationFrame ||
  window.webkitRequestAnimationFrame ||
  window.msRequestAnimationFrame;

const cancelAnimationFrame =
  window.cancelAnimationFrame || window.mozCancelAnimationFrame;

const start = Date.now();

let myReq;

function step(timestamp) {
  const progress = timestamp - start;
  d.style.left = `${Math.min(progress / 10, 200)}px`;
  if (progress < 2000) {
    // requestAnimationFrame を呼び出すたびに requestId を更新することが重要です
    myReq = requestAnimationFrame(step);
  }
}
myReq = requestAnimationFrame(step);
// キャンセル処理は、最後の requestId を使用します
cancelAnimationFrame(myReq);
```

仕様書
---

| Specification |
| --- |
| HTML Standard # animationframeprovider-cancelanimationframe |

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

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

関連情報
----

* `window.requestAnimationFrame()`
* ポリフィル
Window.document
===============

**`window.document`** は、ウィンドウに含まれている文書への参照を返します。

例
-


```js
console.log(window.document.title);
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-document-dev |

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

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

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

**`deviceorientation`** イベントは、端末の現在の向きを地球座標フレームと比較した場合に、方角センサーから最新のデータが得られた場合に発生します。このデータは端末内部の方位磁針から収集されます。

詳しくは方向および動きとして示されるデータを参照してください。

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

構文
--

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


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

ondeviceorientation = (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 です。

例
-


```js
if (window.DeviceOrientationEvent) {
  window.addEventListener(
    "deviceorientation",
    (event) => {
      const rotateDegrees = event.alpha; // alpha: rotation around z-axis
      const leftToRight = event.gamma; // gamma: left to right
      const frontToBack = event.beta; // beta: front back motion

      handleOrientationEvent(frontToBack, leftToRight, rotateDegrees);
    },
    true,
  );
}

const handleOrientationEvent = (frontToBack, leftToRight, rotateDegrees) => {
  // do something amazing
};
```

仕様書
---

| Specification |
| --- |
| DeviceOrientation Event Specification # deviceorientation |
| DeviceOrientation Event Specification # ref-for-dom-window-ondeviceorientation |

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

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

関連情報
----

* `devicemotion`
* 端末の方向の検出
* 方向および動きとして示されるデータ
Window.sidebar
==============

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

**警告:** この `window.external` (en-US) プロパティの Firefox だけの標準外のエイリアスは削除されました。

ブラウザーにアドオンを登録するためのいくつかのメソッドを含むサイドバーオブジェクトを返します。

メソッド
----

返されるサイドバーオブジェクトは、以下のメソッドを持っています。

| メソッド | 説明 (SeaMonkey) | 説明 (Firefox) |
| --- | --- | --- |
| `addPanel(title, contentURL, "")` | サイドバーパネルを追加します。 | 
 Firefox 23 からは廃止されました (SeaMonkey にのみ存在します)。エンドユーザーは、代わりに「このブックマークをサイドバーに読み込む」オプションを使用できます。また、 Firefox のサイドバーを作成するを参照してください。
 >
  |
| `addPersistentPanel(title, contentURL, "")` | バックグラウンドで動作可能なサイドバーパネルを追加します。 |
| `AddSearchProvider(*descriptionURL)*` | 
 ダミー関数です。何もしません。
 検索プラグインの自動検出を参照してください。
  |
| `addSearchEngine(engineURL, iconURL, suggestedTitle, suggestedCategory)`

非推奨
 | 
 検索エンジンをインストールします (Sherlock)。
 詳細はSherlock 検索エンジンを追加 (en-US)にあります。


**Note:** これは Firefox 44 で廃止され、 Firefox 59 で完全に削除されました。
 |
| `IsSearchProviderInstalled(*descriptionURL)*` | 特定の検索プロバイダー (OpenSearch) がインストールされているかどうかを示します。 |

仕様書
---

Mozilla 固有です。どの標準にも属しません。

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

 Firefox 102 で環境設定に隠されました。
 詳細は、 `window.external` (en-US) の Firefox 互換性情報を参照してください。
Window: cut イベント
================

**`cut`** イベントは、ユーザーがブラウザーのユーザーインターフェイスから切り取り操作を実行したときに発生します。

|  |  |
| --- | --- |
| バブリング | あり |
| キャンセル | 可 |
| インターフェイス | `ClipboardEvent` |
| イベントハンドラープロパティ | `oncut` |

このイベントの本来の対象は、切り取り操作の意図の対象である `Element` です。このイベントを `Window` インターフェイス上で待ち受けし、キャプチャやバブリングの局面で処理することができます。このイベントの局面について完全な詳細は、 Element: cut イベントを参照してください。

例
-


```js
window.addEventListener("cut", (event) => {
  console.log("cut action initiated");
});
```

仕様書
---

| Specification |
| --- |
| Clipboard API and events # clipboard-event-cut |
| HTML Standard # handler-oncut |

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

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

関連情報
----

* 関連イベント: `copy`, `paste`
* `Element` を対象としたこのイベント: `cut`
* `Document` を対象としたこのイベント: `cut`
Window: gamepadconnected イベント
=============================

`gamepadconnected` イベントは、ゲームパッドが接続されたことをブラウザーが検出したとき、またはゲームパッドのボタン/軸が初めて使用されたときに発生します。

このイベントは、文書の `gamepad` (en-US) 権限ポリシーが不許可になっている場合には発生しません。

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

例
-

ゲームパッドが接続されたことを通知するには、`addEventListener()` を使用してウィンドウにハンドラーを追加します。


```js
window.addEventListener("gamepadconnected", (event) => {
  // すべてのボタンと軸の値は、次の方法でアクセスできます。
  const gamepad = event.gamepad;
});
```


また、`window.ongamepadconnected` イベントハンドラープロパティを使用して、`gamepadconnected` イベントのハンドラーを確立することもできます。


```js
window.ongamepadconnected = (event) => {
  // すべてのボタンと軸の値は、次の方法でアクセスできます。
  const gamepad = event.gamepad;
};
```

仕様書
---

| Specification |
| --- |
| Gamepad # event-gamepadconnected |

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

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

関連情報
----

* gamepaddisconnected
* Gamepad API の使用
Window.showModalDialog()
========================

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

**警告:** この機能は削除されました。ウェブサイトやアプリケーションを修正してください。

このメソッドは Chrome 43 および Firefox 56 で削除されました。

**`Window.showModalDialog()`** は、指定された HTML 文書を含むモーダルダイアログボックスを生成して表示します。

構文
--


```js
showModalDialog(uri);
showModalDialog(uri, arguments);
showModalDialog(uri, arguments, options);
```

### 引数

`uri`

ダイアログで表示する文書の URL です。

`arguments` 省略可

ダイアログに渡される値です。

`options` 省略可

 ダイアログのウィンドウ装飾を指定する文字列です。
 以下のうち 1 つ以上の値をセミコロンで区切って使用します。




| 構文 | 説明 |
| --- | --- |
| `center: {on | off | yes | no | 1 | 0 }` | この引数の値が `on`, `yes`, `1` のいずれかである場合、ダイアログウィンドウはデスクトップの中央に配置されます。それ以外の場合は、ダイアログボックスが隠れます。既定値は `yes` です。 |
| `dialogheight: *height*` | ダイアログボックスの高さを指定します。 |
| `dialogleft: *left*` | ダイアログボックスの水平位置をデスクトップの左上を基準とした値で指定します。 |
| `dialogwidth: *width*` | ダイアログボックスの幅を指定します。 |
| `dialogtop: *top*` | ダイアログボックスの垂直位置をデスクトップの左上角を基準とした値で指定します。 |
| `resizable: {on | off | yes | no | 1 | 0 }` | この引数の値が `on`, `yes`, 1 のいずれかである場合、ダイアログウィンドウは、ユーザーによるリサイズが可能になります。それ以外の場合は、ウィンドウのサイズが自動で調整されます。既定値は、 `no` です。 |
| `scroll: {on | off | yes | no | 1 | 0 }` | この引数の値が `on`, `yes`, 1 のいずれかである場合、ダイアログボックスにスクロールバーが表示されます。それ以外の場合は、ボックスのサイズが自動で調整されます。既定値は、 `no` です。 |

**メモ:** Firefox は、`dialogHide`、`edge`、`status`、および、`unadorned` 引数を実装していません。

### 返値

`uri` で指定した文書で設定された `returnValue` プロパティを保持します。

メモ
--

`showModalDialog()` は HTML5 の一部として一時的に標準化されました。追加オプションのための第 3 引数は、 HTML5 版には存在しませんでした。

仕様書
---

* MSDN の `showModalDialog` ページ
ブラウザーの互換性
---------

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

関連情報
----

* `window.showModalDialog()` を置き換える `<dialog>`
* showModalDialog のポリフィル、`<dialog>` およびジェネレーターを使用したもの
Window: pageshow イベント
=====================

**`pageshow`** イベントは、操作によってブラウザーがウィンドウの文書を表示したときに `Window` へ送られます。これには以下のようなものがあります。

* 最初にページを読み込んだとき
* 同じウィンドウまたはタブの中で、他のページからそのページへ移動してきたとき
* モバイル OS で凍結されたページを復元したとき
* ブラウザーの進む、戻るボタンを利用してこのページに戻ったとき

**メモ:** 最初にページを読み込んでいる間、 `pageshow` イベントは `load` イベントの*後で*発生します。


|  |  |
| --- | --- |
| バブリング | なし |
| キャンセル | 不可 |
| インターフェイス | `PageTransitionEvent` |
| イベントハンドラープロパティ | `onpageshow` |

例
-

この例は配列 `events` の中に列挙されたイベントのイベントハンドラーを設定します。ハンドラーである `eventLogger()` は、発生したイベントの種類と、 `persisted` (en-US) フラグの値を `pageshow` および `pagehide` イベントの場合に含めてコンソールに出力します。

### JavaScript


```js
const events = ["pagehide", "pageshow", "unload", "load"];

const eventLogger = (event) => {
  switch (event.type) {
    case "pagehide":
    case "pageshow":
      let isPersisted = event.persisted ? "persisted" : "not persisted";
      console.log("Event:", event.type, "-", isPersisted);
      break;
    default:
      console.log("Event:", event.type);
      break;
  }
};

events.forEach((eventName) => window.addEventListener(eventName, eventLogger));
```

### HTML


```html
<p>
  コンソールを開き、このページに出入りしたときの出力を見てください。
  このタブに新しいページを読み込んだり、履歴で前後に移動したりして、
  イベントのログへの出力を見てください。
</p>
```

### 結果

仕様書
---

| Specification |
| --- |
| HTML Standard # event-pageshow |

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

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

関連情報
----

* `onpageshow` イベントハンドラープロパティ
* `pagehide`
Window: focus イベント
==================

**`focus`** イベントは、要素がフォーカスを受け取ったときに発生します。

`focus` の反対は `blur` です。

|  |  |
| --- | --- |
| バブリング | なし |
| キャンセル | 不可 |
| インターフェイス | `FocusEvent` |
| イベントハンドラープロパティ | `onfocus` |
| 同期 / 非同期 | 同期 |
| Composed | はい |

例
-

### ライブデモ

この例ではフォーカスを失ったときに文書の外見を変更します。 `addEventListener()` を使用して `focus` および `blur` イベントを監視します。

#### HTML


```html
<p id="log">Click on this document to give it focus.</p>
```


#### CSS


```css
.paused {
  background: #ddd;
  color: #555;
}
```


#### JavaScript


```js
function pause() {
  document.body.classList.add("paused");
  log.textContent = "FOCUS LOST!";
}

function play() {
  document.body.classList.remove("paused");
  log.textContent =
    "This document has focus. Click outside the document to lose focus.";
}

const log = document.getElementById("log");

window.addEventListener("blur", pause);
window.addEventListener("focus", play);
```


#### 結果

仕様書
---

| Specification |
| --- |
| UI Events # event-type-focus |
| HTML Standard # handler-onfocus |

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

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

関連情報
----

* 関連イベント: `blur`
* `Element` を対象としたこのイベント: `focus` イベント
Window.showSaveFilePicker()
===========================

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

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

`Window` インターフェイスの **`showSaveFilePicker()`** メソッドは、ファイルピッカーを表示し、ユーザーにファイルを保存させることができます。
 既存のファイルを選択することも、新規ファイルの名前を入力することもできます。

構文
--


```js
showSaveFilePicker()
```

### 引数

`options` 省略可

以下のオプションを含むオブジェクトです。

`excludeAcceptAllOption`

`boolean` 値で、デフォルトは `false` です。
 通常、ピッカーには (以下の `type` オプションに基づく) ファイル形式フィルターを何も適用しない選択肢があるはずです。このオプションを `true` にすると、この選択肢を利用 *不可能* にします。


`suggestedName`

提案するファイル名を表す `String` です。

`types`

保存できるファイル形式の`配列`です。各要素は、以下のオプションを持つオブジェクトです。

`description`

許可されるファイル形式のカテゴリーの説明で、省略可能です。

`accept`

キーを MIME タイプに、値をファイルの拡張子の`配列`に設定した `Object` です。(例は以下を参照してください)


### 返値

`FileSystemFileHandle` オブジェクトで解決する `Promise` を返します。

### 例外

`AbortError`

ユーザーがファイルの選択や入力をせずにピッカーを閉じた場合や、選択されたファイルをユーザーエージェントがセンシティブや危険とみなした場合、投げられます。

セキュリティ
------

ユーザーによる一時的な有効化が必要です。この機能が動作するためには、ユーザーがページまたは UI 要素を操作することが必要です。

例
-

以下の関数は、テキストファイルが選択しやすい状態でファイルピッカーを表示します。


```js
async function getNewFileHandle() {
  const opts = {
    types: [
      {
        description: "テキストファイル",
        accept: { "text/plain": [".txt"] },
      },
    ],
  };
  return await window.showSaveFilePicker(opts);
}
```

仕様書
---

| Specification |
| --- |
| File System Access # api-showsavefilepicker |

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

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

関連情報
----

* File System Access API
* The File System Access API: simplifying access to local files
Window.resizeBy()
=================

**`Window.resizeBy()`** メソッドは、現在のウィンドウを指定した大きさにリサイズします。

構文
--


```js
resizeBy(xDelta, yDelta);
```

### 引数

* `xDelta` はウィンドウを水平方向に広げるピクセル数です。
* `yDelta` はウィンドウを垂直方向に広げるピクセル数です。
### 返値

なし (`undefined`)。

例
-


```js
// Shrink the window
window.resizeBy(-200, -200);
```

メモ
--

このメソッドは、ウィンドウの大きさを現在の大きさからの相対値で変更します。ウィンドウの大きさを絶対的な値で変更する場合は `window.resizeTo()` を使用してください。

### 外部ウィンドウの生成とリサイズ

セキュリティ上の理由から、 Firefox では、ウィンドウが `window.open()` によって生成されていない場合や、複数のタブを含む場合に、ウェブサイトがブラウザー内のウィンドウの既定のサイズを変更することができなくなりました。この変更の詳細については、互換性一覧表を参照してください。

`window.open()` によってウィンドウを作成しても、 **既定ではリサイズできません。** ウィンドウをリサイズ可能にするには、 `"resizable"` 特性を使用してウィンドウを開く必要があります。


```js
// リサイズ可能なウィンドウを作成
myExternalWindow = window.open(
  "http://myurl.domain",
  "myWindowName",
  "resizable",
);

// ウィンドウを 500x500 にリサイズ
myExternalWindow.resizeTo(500, 500);

// ウィンドウをより小さく 400x400 にする
myExternalWindow.resizeBy(-100, -100);
```


作成するウィンドウは、「同一オリジンポリシー」を尊重する必要があります。開いたウィンドウと現在のウィンドウのオリジンが同じでない場合、そのウィンドウ/タブの大きさを変更したり、情報にアクセスしたりすることはできません。

仕様書
---

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

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

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

**`languagechange`** イベントはグローバルスコープオブジェクトで、ユーザーの推奨言語が変更されたときに発生します。

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

例
-

`languagechange` は `addEventListener` メソッドで使用することができます。


```js
window.addEventListener("languagechange", function () {
  console.log("languagechange event detected!");
});
```


または、 `onlanguagechange` イベントハンドラープロパティを使用することもできます。


```js
window.onlanguagechange = function (event) {
  console.log("languagechange event detected!");
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-languagechange |
| HTML Standard # handler-window-onlanguagechange |

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

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

関連情報
----

* `navigator.language`
* `navigator.languages`
* `Navigator`
* `Window.onlanguagechange` (en-US)
Window.focus()
==============

ウィンドウを最前面にするようリクエストします。ユーザー設定によっては失敗する可能性があり、このメソッドが返される前にウィンドウが最前面になることは保証されません。

構文
--


```js
focus();
```

### 引数

なし。

### 返値

なし (`undefined`)。

例
-


```js
if (clicked) {
  window.focus();
}
```

仕様書
---

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

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

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

`gamepaddisconnected` イベントは、ゲームパッドが切断されたことをブラウザーが検出したときに発行されます。

このイベントは、文書の `gamepad` (en-US) 権限ポリシーが不許可になっている場合には発生しません。

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

例
-

ゲームパッドが切断されたことを通知するには、`addEventListener()` を使用してウィンドウにハンドラーを追加します。


```js
window.addEventListener("gamepaddisconnected", (event) => {
  console.log("ゲームパッドの接続が失われました。");
});
```


また、`window.ongamepaddisconnected` イベントハンドラプロパティを使用して、`gamepaddisconnected` イベントのハンドラーを確立することもできます。


```js
window.ongamepaddisconnected = (event) => {
  console.log("ゲームパッドの接続が失われました。");
};
```

仕様書
---

| Specification |
| --- |
| Gamepad # event-gamepaddisconnected |

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

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

関連情報
----

* gamepadconnected
* Gamepad API の利用
window.scrollX
==============

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

構文
--
```

var x = window.scrollX;
```

### 値

実際に返される値は、文書が原点から水平方向にスクロールされた量をピクセル数で表す倍精度浮動小数点数です。正の値は、内容物が左にスクロールされていることを表します。文書がサブピクセル精度のデバイスに表示されている場合は、戻り値も小数部を含むサブピクセル精度の値になります。文書が左にも右にもスクロールされていない場合の `scrollX` は 0 です。

**メモ:** 整数値が必要である場合は、`Math.round()` を使用して切り捨てできます。

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

例
-

これは、文書の現在の水平スクロール位置を確認する例です。400 ピクセルより大きい場合は、文書の左上にスクロール位置をリセットします。


```js
if (window.scrollX > 400) {
  window.scroll(0, 0);
}
```

注記
--

`pageXOffset` プロパティは、`scrollX` プロパティのエイリアスです。:


```js
window.pageXOffset == window.scrollX; // 常に true
```


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


```js
var x =
  window.pageXOffset !== undefined
    ? window.pageXOffset
    : (document.documentElement || document.body.parentNode || document.body)
        .scrollLeft;

var y =
  window.pageYOffset !== undefined
    ? window.pageYOffset
    : (document.documentElement || document.body.parentNode || document.body)
        .scrollTop;
```

仕様
--

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

ブラウザー実装状況
---------

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

関連情報
----

* `window.scrollY`
Window: scrollbars プロパティ
========================

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

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

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

構文
--

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

`visible` 読取専用 

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

仕様書
---

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

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

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

関連情報
----

* `window.locationbar`
* `window.menubar`
* `window.personalbar`
* `window.statusbar`
* `window.toolbar`
Window.scrollByPages()
======================

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

**`Window.scrollByPages()`** メソッドは、現在の文書を指定されたページ数だけスクロールさせます。

概要
--


```js
window.scrollByPages(pages);
```

### 引数

* `pages` はスクロールさせるページ数です。正または負の整数を指定することができます。
例
-


```js
// 文書を下へ 1 ページスクロール
window.scrollByPages(1);

// 文書を上へ 1 ページスクロール
window.scrollByPages(-1);
```

仕様書
---

DOM Level 0 です。仕様書にはありません。

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

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

関連情報
----

* `window.scroll()`
* `window.scrollBy()`
* `window.scrollByLines()`
* `window.scrollTo()`
window.stop
===========

概要
--

このメソッドは、ウィンドウの読み込みを停止します。

構文
--
```

window.stop()
```

例
-


```html
<script>
 stop();
</script>

<p>このパラグラフは読み込まれないでしょう。</p>
```

注記
--

`stop()` メソッドは、ブラウザの停止ボタンをクリックすることと全く同じです。スクリプトが読み込まれる順番のために、`stop()` メソッドは文書の読み込みを停止できない可能性がありますが、巨大な画像、新しいウィンドウなど、読み込みを遅延させるオブジェクトの読み込みを停止することはできるでしょう。

仕様
--

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

互換性
---

stop() メソッドは、Internet Explorer でサポートされません。