recursal/MDN huggingface dataset:
Window.frames
=============

ウィンドウ自体を、現在のウィンドウの直接のサブフレームを列挙した配列風オブジェクトとして返します。

構文
--
```

frameList = window.frames;
```


* `frameList` は、フレームオブジェクトのリストを返します。これは配列と似ており、 `length` プロパティを持ち、要素に `[i]` 表記を使ってアクセスできます。
* `frameList === window` は真と評価されます。
* window.frames 擬似配列の各要素は `Window` オブジェクトであり、 `<frame>` または `<iframe>` の内容に対応します。 (i)frame の DOM 要素ではありません (つまり `window.frames[0]` は `document.getElementsByTagName("iframe")[0].contentWindow` と同じことです)。
* 返値についての詳細は、 mozilla.dev.platform のスレッドを参照してください。
例
-


```js
var frames = window.frames; // or // var frames = window.parent.frames;
for (var i = 0; i < frames.length; i++) {
  // frames[i] で各サブフレームに何らかの処理をします
  frames[i].document.body.style.background = "red";
}
```

仕様書
---

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

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

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

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

**メモ:** `Window.find()` の対応は、 Gecko の将来のバージョンで変更される可能性があります。 Firefox バグ 672395 を参照してください。

**`Window.find()`** メソッドは、ウィンドウ内の文字列を順次検索します。

構文
--


```js
find(
  aString,
  aCaseSensitive,
  aBackwards,
  aWrapAround,
  aWholeWord,
  aSearchInFrames,
  aShowDialog,
);
```

### 引数

`aString`

検索するテキスト文字列です。

`aCaseSensitive`

論理値です。 `true` の場合、大文字と小文字を区別して検索します。

`aBackwards`

論理値です。 `true` の場合、後方検索を行います。

`aWrapAround`

論理値です。 `true` の場合、折り返し検索を行います。

`aWholeWord` 未実装

論理値です。 `true` の場合、完全一致検索を行います。これは実装されていません。 Firefox バグ 481513 を参照してください。

`aSearchInFrames`

論理値です。 `true` の場合、フレーム内の検索を行います。

### 返値

文字列が見つかったら `true` です。それ以外の場合は `false` です。

例
-

### JavaScript


```js
function findString(text) {
  document.querySelector("#output").textContent =
    "String found? " + window.find(text);
}
```

### HTML


```html
<p>Apples, Bananas, and Oranges.</p>
<button type="button" onClick='findString("Apples")'>Search for Apples</button>
<button type="button" onClick='findString("Bananas")'>
  Search for Bananas
</button>
<button type="button" onClick='findString("Orange")'>Search for Orange</button>

<p id="output"></p>
```

### 結果

メモ
--

一部のブラウザーでは、 `Windows.find()` はサイト内で見つかったコンテンツを選択（強調表示）します。

仕様書
---

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

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

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

**`Window.getSelection()`** メソッドは、ユーザーが選択した文字列の範囲やキャレットの現在位置を示す `Selection` オブジェクトを返します。

構文
--


```js
getSelection();
```

### 引数

なし。

### 返値

A `Selection` オブジェクト。

文字列へ型変換すると、空の文字列 (`""`) を追加するか `Selection.toString()` (en-US) を使って、選択された文字列を返します。

表示されていない `<iframe>` に対して呼び出された場合（例えば `display: none` が設定されている場合）、 Firefox は `null` を、他のブラウザーは `None` を設定した `Selection.type` (en-US) オブジェクトを返します。

例
-


```js
function foo() {
  const selObj = window.getSelection();
  alert(selObj);
  const selRange = selObj.getRangeAt(0);
  // 以下、取得した選択文字列に対して何らかの処理を行う
}
```

メモ
--

### Selection オブジェクトの文字列表現

JavaScript では、文字列が渡されることを前提としている関数 (`window.alert()` や `document.write()`) にオブジェクトが渡されると、そのオブジェクトの `toString()` メソッドが呼び出され、その結果が関数へ渡されます。このため、実際はプロパティとメソッドを持つオブジェクトなのに、文字列であるかのように見えてしまいます。

上の例では、 `selObj.toString()` が `window.alert()` へ渡されるときに自動的に呼び出されます。しかし、 JavaScript の String のプロパティや、 `length`、`substr` などのメソッドを直接 `Selection` オブジェクトに対して使おうとすると、オブジェクトにその名前のプロパティやメソッドが存在しないはエラーとなり、存在する場合は予期せぬ結果を返すでしょう。 `Selection` オブジェクトを文字列として使うなら、下記のように `toString()` メソッドを呼び出してください。


```js
const selectedText = selObj.toString();
```


* `selObj` は `Selection` オブジェクトです。
* `selectedText` は文字列です。 (選択された文字列)
### 関連オブジェクト

同じように機能する `Document.getSelection()` を呼び出すことができます。

現在 `getSelection()` は Firefox、Edge (旧)、Internet Explorer では、 `<textarea>` と `<input>` 要素の内容に対して動作しないことは知っておくとよいでしょう。`HTMLInputElement.setSelectionRange()` または `selectionStart` と `selectionEnd` プロパティを使用すると、この問題を回避することができます。

*選択* と *フォーカス* の違いに注意してください。`Document.activeElement` はフォーカスされた要素を返します。

仕様書
---

| Specification |
| --- |
| Selection API # dom-window-getselection |

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

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

関連情報
----

* 選択 API
* `Selection`
* `Range`
* `Document.getSelection()`
* `HTMLInputElement.setSelectionRange()`
Window: resize イベント
===================

**`resize`** イベントは、この文書のビュー (ウィンドウ) の大きさが変更されたときに発行されます。

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

一部の初期のブラウザーでは、 `resize` イベントのハンドラーをすべての HTML 要素に設定することができました。現在でも `onresize` 属性や `addEventListener()` を使用して、どの要素にもハンドラーを設定することができます。しかし、 `resize` イベントは `window` オブジェクト (すなわち `document.defaultView` で返されるもの) でのみ発行されます。 `window` オブジェクトに登録されたハンドラーのみが、 `resize` イベントを受け取ります。

すべての要素が大きさの変更を通知できるようにする提案があります。 Resize Observer で草稿のドキュメントを、 GitHub issue で進行中の議論を読むことができます。

例
-

### ウィンドウの大きさのログ出力

以下の例では、ウィンドウの大きさが変更されるたびに報告を出力します。この例は `<iframe>` 内で実行されているので、効果を見る前に実際に `<iframe>` の大きさを変更する必要があることを覚えておいてください。


```html
<p>
  ブラウザーウィンドウを変更すると <code>resize</code> イベントを発行します。
</p>
<p>ウィンドウの高さ: <span id="height"></span></p>
<p>ウィンドウの幅: <span id="width"></span></p>
```



```js
const heightOutput = document.querySelector("#height");
const widthOutput = document.querySelector("#width");

function reportWindowSize() {
  heightOutput.textContent = window.innerHeight;
  widthOutput.textContent = window.innerWidth;
}

window.onresize = reportWindowSize;
```

### addEventListener による同等の実装

イベントハンドラーを設定するために `addEventListener()` メソッドを使用することもできます。


```js
window.addEventListener("resize", reportWindowSize);
```

仕様書
---

| Specification |
| --- |
| CSSOM View Module # eventdef-window-resize |

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

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

関連情報
----

* `GlobalEventHandlers.onresize`
Window: storage イベント
====================

**`storage`** イベントは、保存領域 (`localStorage`) が変更されたときに発生します。詳しくはウェブストレージ API をご覧ください。

**メモ:** これは変更を行ったのと同じページでは動作しません。本来、これは同じ保存領域を使用している同じドメインの他のページが更新を同期するための仕組みです。他のドメインのページは、同じ保存領域オブジェクトにはアクセスできません。

構文
--

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


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

イベント型
-----

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

Event

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

`key` (en-US) 読取専用 

 変更されたキーを表す文字列を返します。
 変更が発生したのがこのストレージの `clear()` メソッドによるものであれば、 `key` 属性は `null` になります。


`newValue` (en-US) 読取専用 

`key` の新しい値を文字列で返します。
 このストレージの `clear()` メソッドが呼び出されたり、その `key` がストレージから削除されたりして変更が行われた場合は、この値は `null` になります。


`oldValue` (en-US) 読取専用 

`key` の元の値を文字列で返します。
 その `key` が新しく追加されたものであるため、以前の値が存在しない場合は、この値は `null` になります。


`storageArea` (en-US) 読取専用 

変更が行われたストレージを表す `Storage` オブジェクトを返します。

`url` (en-US) 読取専用 

`key` を変更した文書の URL を文字列で返します。

イベントハンドラーの別名
------------

`Window` インターフェイスに加え、イベントハンドラープロパティ `onstorage` は以下のターゲットでも利用可能です。

* `HTMLBodyElement`
* `HTMLFrameSetElement` (en-US)
* `SVGSVGElement` (en-US)
例
-

`storage` イベントが発生した時、項目 `sampleList` をコンソールに記録します。


```js
window.addEventListener("storage", () => {
  // ローカルストレージが変更された時、
  // リストをコンソールに書き出す。
  console.log(JSON.parse(window.localStorage.getItem("sampleList")));
});
```


`onstorage` イベントハンドラープロパティを用いても、同じことができます。


```js
window.onstorage = () => {
  // ローカルストレージが変更された時、
  // リストをコンソールに書き出す。
  console.log(JSON.parse(window.localStorage.getItem("sampleList")));
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-storage |
| HTML Standard # handler-window-onstorage |

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

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

関連情報
----

* ウェブストレージ API
* ウェブストレージ API の使用
* StorageEvent を使用してストレージの変更に反応する
window.frameElement
===================

（`<iframe>` や `<object>` のような）ウィンドウが埋め込まれた要素を返します。要素がトップレベルであるか異なるスクリプト生成元をもつ文書に埋め込まれるかのいずれかの場合は、 `null` を返します。

構文
--
```

frameEl = window.frameElement;
```


* `frameEl` は、ウィンドウが埋め込まれた要素です。ウィンドウが別の文書に埋め込まれていない場合、または埋め込まれている文書が異なる生成元を持つ（例えば異なるドメインから設置されている）場合、これは `null` になります。

**メモ:** このプロパティの名前にもかかわらず、これは`<object>`、`<iframe>`、または <embed>を含むすべての埋め込みポイント内に埋め込まれた文書の役に立ちます。

例
-


```js
var frameEl = window.frameElement;
// 埋め込みの場合、要素の URL が 'http://mozilla.org/' に変わります。
if (frameEl) {
  frameEl.src = "http://mozilla.org/";
}
```

仕様
--

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

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

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

関連項目
----

* `window.frames` は、現在のウィンドウの直接のサブフレームを一覧する、配列のようなオブジェクトを返します。
* `window.parent` は、子ウィンドウの`frameElement`を含むウィンドウである、親ウィンドウを返します。
Window.screenX
==============

**`Window.screenX`** は読み取り専用のプロパティで、ユーザーのブラウザーのビューポートから画面の左端までの水平距離を CSS ピクセル数で返します。

**メモ:** `screenX` の別名である `Window.screenLeft` (en-US) が、最近は新しいブラウザー間で実装されていました。これはもともと IE のみが対応していましたが、有名であるためあらゆる場所で導入されています。

構文
--


```js
leftWindowPos = window.screenX;
```

### 返値

ブラウザーのビューポートの左端から画面の左端までの CSS ピクセル数に等しい数値です。

例
-

screenleft-screentop (ソースコード) の例では、円が描かれたキャンバスを見ることができます。この例では、 `Window.screenLeft` (en-US)/`Window.screenTop` (en-US) に加えて `Window.requestAnimationFrame()` を使用することで、ウィンドウの位置を移動しても画面上の一定の物理的な位置に円を描き続けます。


```js
initialLeft = window.screenLeft + canvasElem.offsetLeft;
initialTop = window.screenTop + canvasElem.offsetTop;

function positionElem() {
  let newLeft = window.screenLeft + canvasElem.offsetLeft;
  let newTop = window.screenTop + canvasElem.offsetTop;

  let leftUpdate = initialLeft - newLeft;
  let topUpdate = initialTop - newTop;

  ctx.fillStyle = "rgb(0, 0, 0)";
  ctx.fillRect(0, 0, width, height);
  ctx.fillStyle = "rgb(0, 0, 255)";
  ctx.beginPath();
  ctx.arc(
    leftUpdate + width / 2,
    topUpdate + height / 2 + 35,
    50,
    degToRad(0),
    degToRad(360),
    false,
  );
  ctx.fill();

  pElem.textContent =
    "Window.screenLeft: " +
    window.screenLeft +
    ", Window.screenTop: " +
    window.screenTop;

  window.requestAnimationFrame(positionElem);
}

window.requestAnimationFrame(positionElem);
```


これは `screenX`/`screenY` でもまったく同じように動作します。

 また、このコードでは `screenLeft` に対応しているかどうかを検出するスニペットが入っており、対応していない場合は `screenLeft`/`screenTop` を
 `screenX`/`screenY` で代替するようになっています。


```js
if (!window.screenLeft) {
  window.screenLeft = window.screenX;
  window.screenTop = window.screenY;
}
```

仕様書
---

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

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

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

関連情報
----

* `window.screenLeft` (en-US)
* `Window.screenY`
Window: copy イベント
=================

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

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

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

例
-


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

仕様書
---

| Specification |
| --- |
| Clipboard API and events # clipboard-event-copy |
| HTML Standard # handler-oncopy |

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

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

関連情報
----

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

**`Window.resizeTo()`** メソッドは、ウィンドウのサイズを動的に変更します。

構文
--


```js
resizeTo(width, height);
```

### 引数

`width`

整数で、新しい `outerWidth` （スクロールバーやタイトルバーなどを含む大きさ）をピクセル数で表します。

`height`

整数で、新しい `outerHeight` （スクロールバーやタイトルバーなどを含む大きさ）をピクセル数で表します。

### 返値

なし (`undefined`)。

例
-

この関数は、利用可能な画面の 1/4 を占めるようにウィンドウをリサイズします。 `Screen.availWidth` および `Screen.availHeight` プロパティを参照してください。


```js
function quarter() {
  window.resizeTo(window.screen.availWidth / 2, window.screen.availHeight / 2);
}
```

仕様書
---

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

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

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

注: **`window.open()`** によって作成されていないウィンドウまたはタブのサイズを変更することはできません。また、ウィンドウに複数のタブがある場合、サイズを変更することはできません。

関連情報
----

* `window.resizeBy()`
Window: message イベント
====================

`message` は `Window` オブジェクトのイベントで、ウィンドウが例えば他の閲覧コンテキストからの `Window.postMessage()` の呼び出しによってメッセージを受け取った時に発生します。

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

構文
--

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


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

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

イベント型
-----

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

Event

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

*このインターフェイスは親である `Event` からプロパティを継承しています。*

`MessageEvent.data` 読取専用 

メッセージ送信元によって送信されたデータです。

`MessageEvent.origin` 読取専用 

文字列で、メッセージ送信元のオリジンを表します。

`MessageEvent.lastEventId` 読取専用 

文字列で、このイベントの一意の ID を表します。

`MessageEvent.source` 読取専用 

`MessageEventSource` （`WindowProxy`、`MessagePort`、`ServiceWorker` の何れかのオブジェクト）で、メッセージの送信元を表します。

`MessageEvent.ports` 読取専用 

`MessagePort` オブジェクトの配列で、メッセージが送信されるチャンネルに関連するポートを表します（チャンネルメッセージングや、共有ワーカーにメッセージを送信する場合など、適切な場合）。

例
-

あるスクリプトが、次のようなコードを使用して、別の `<iframe>` のような異なる閲覧コンテキストにメッセージを送信するとします。


```js
const targetFrame = window.top.frames[1];
const targetOrigin = "https://example.org";
const windowMessageButton = document.querySelector("#window-message");

windowMessageButton.addEventListener("click", () => {
  targetFrame.postMessage("hello there", targetOrigin);
});
```


受信側は、以下のようなコードで `addEventListener()` を使用し、メッセージを待ち受けることができます。


```js
window.addEventListener("message", (event) => {
  console.log(`Received message: ${event.data}`);
});
```


他にも、リスナーは `onmessage` イベントハンドラープロパティを使用することもできます。


```js
window.onmessage = (event) => {
  console.log(`Received message: ${event.data}`);
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-message |
| HTML Standard # handler-window-onmessage |

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

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

関連情報
----

* 関連イベント: `messageerror`
* `Window.postMessage()`
Window: messageerror イベント
=========================

`messageerror` イベントは、解読できないメッセージを受け取った時に `Window` オブジェクトに発生します。

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

構文
--

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


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

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

イベント型
-----

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

Event

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

*このインターフェイスは親である `Event` からプロパティを継承しています。*

`MessageEvent.data` 読取専用 

メッセージ送信元によって送信されたデータです。

`MessageEvent.origin` 読取専用 

文字列で、メッセージ送信元のオリジンを表します。

`MessageEvent.lastEventId` 読取専用 

文字列で、このイベントの一意の ID を表します。

`MessageEvent.source` 読取専用 

`MessageEventSource` （`WindowProxy`、`MessagePort`、`ServiceWorker` の何れかのオブジェクト）で、メッセージの送信元を表します。

`MessageEvent.ports` 読取専用 

`MessagePort` オブジェクトの配列で、メッセージが送信されるチャンネルに関連するポートを表します（チャンネルメッセージングや、共有ワーカーにメッセージを送信する場合など、適切な場合）。

例
-

`messageerror` を `addEventListener()` で待ち受けします。


```js
window.addEventListener("messageerror", (event) => {
  console.error(event);
});
```


同じもので、 `onmessageerror` イベントハンドラープロパティを使用したものです。


```js
window.onmessageerror = (event) => {
  console.error(event);
};
```

仕様書
---

| Specification |
| --- |
| HTML Standard # event-messageerror |
| HTML Standard # handler-window-onmessageerror |

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

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

関連情報
----

* `Window.postMessage()`
* 関連イベント: `message`
Window.moveTo()
===============

**`moveTo()`** は `Window` インターフェイスのメソッドで、現在のウィンドウを指定された座標へ移動します。

**メモ:** この関数はウィンドウを絶対位置へ移動します。それに対して、 `window.moveBy()` はウィンドウを現在の位置からの相対位置へ移動します。

構文
--


```js
moveTo(x, y);
```

### 引数

* `x` は移動先の水平座標です。
* `y` は移動先の垂直座標です。
### 返値

なし (`undefined`)。

例
-

この例では、ウィンドウを画面の左上に移動しています。


```js
function origin() {
  window.moveTo(0, 0);
}
```

仕様書
---

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

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

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

Firefox 7 より、ウェブサイトは以下の場合にブラウザーウィンドウを移動できなくなりました。

1. `Window.open()` で作成されたものではないウィンドウやタブを移動することはできません。
2. ウィンドウに複数のタブがある場合は、ウィンドウやタブを移動することができません。
関連情報
----

* `Window.moveBy()`
Window.scrollMaxY
=================

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

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

構文
--


```js
yMax = window.scrollMaxY;
```


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


```js
// ページの下端までスクロールする
let maxY = window.scrollMaxY;

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

注
-

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

仕様書
---

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

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

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

現在の文書を印刷するための印刷ダイアログを開きます。

この関数が呼び出されたとき、文書がまだ読み込み中であった場合、文書は印刷ダイアログを開く前に読み込みを終了します。

このメソッドは、印刷ダイアログが開いている間、ブロックされます。

構文
--


```js
print();
```

### 引数

なし。

### 返値

なし (`undefined`)。

仕様書
---

| Specification |
| --- |
| HTML Standard # printing |

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

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

関連情報
----

* 印刷
* `beforeprint` イベント
* `afterprint` イベント
Window.releaseEvents()
======================

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

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

このウィンドウが指定された種類のイベントを捕捉することを解除します。

構文
--


```js
window.releaseEvents(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` の値の組み合わせです。

例
-


```js
window.releaseEvents(Event.KEYPRESS);
```

注
-

イベントのリストをこのメソッドに渡すには、 `window.releaseEvents(Event.KEYPRESS | Event.KEYDOWN | Event.KEYUP)` のような構文を使用することに注意してください。

`window.captureEvents` (
非推奨
) も参照してください。

仕様書
---

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

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

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

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

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

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

例
-


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

仕様書
---

| Specification |
| --- |
| Clipboard API and events # clipboard-event-paste |
| HTML Standard # handler-onpaste |

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

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

関連情報
----

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

**Window.navigator`** は読み取り専用のプロパティで、スクリプトを実行しているアプリケーションに関するメソッドとプロパティを持つ `Navigator` オブジェクトへの参照を返します。

値
-

`navigator` オブジェクト。

例
-

### 例 #1: ブラウザーを検出し文字列で返す


```js
var sBrowser,
  sUsrAg = navigator.userAgent;

// The order matters here, and this may report false positives for unlisted browsers.

if (sUsrAg.indexOf("Firefox") > -1) {
  sBrowser = "Mozilla Firefox";
  // "Mozilla/5.0 (X11; Ubuntu; Linux x86\_64; rv:61.0) Gecko/20100101 Firefox/61.0"
} else if (sUsrAg.indexOf("SamsungBrowser") > -1) {
  sBrowser = "Samsung Internet";
  // "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-G955F Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.4 Chrome/67.0.3396.87 Mobile Safari/537.36
} else if (sUsrAg.indexOf("Opera") > -1 || sUsrAg.indexOf("OPR") > -1) {
  sBrowser = "Opera";
  // "Mozilla/5.0 (Macintosh; Intel Mac OS X 10\_14\_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.106"
} else if (sUsrAg.indexOf("Trident") > -1) {
  sBrowser = "Microsoft Internet Explorer";
  // "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko"
} else if (sUsrAg.indexOf("Edge") > -1) {
  sBrowser = "Microsoft Edge (Legacy)";
  // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"
} else if (sUsrAg.indexOf("Edg") > -1) {
  sBrowser = "Microsoft Edge (Chromium)";
  // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64
} else if (sUsrAg.indexOf("Chrome") > -1) {
  sBrowser = "Google Chrome or Chromium";
  // "Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36"
} else if (sUsrAg.indexOf("Safari") > -1) {
  sBrowser = "Apple Safari";
  // "Mozilla/5.0 (iPhone; CPU iPhone OS 11\_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306"
} else {
  sBrowser = "unknown";
}

alert("You are using: " + sBrowser);
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-navigator |

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

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

**`Window.scrollTo()`** は文書内の特定の組み合わせの座標までスクロールします。

構文
--
```

window.scrollTo(x-coord, y-coord)
window.scrollTo(options)
```

### 引数

* `x-coord` は、左上に表示されたい文書の水平軸上のピクセルです。
* `y-coord` は、左上に表示されたい文書の垂直軸上のピクセルです。

- または -

* `options` は `ScrollToOptions` 辞書です。
例
-


```js
window.scrollTo(0, 1000);
```


`options` の使用例:


```js
window.scrollTo({
  top: 100,
  left: 100,
  behavior: "smooth",
});
```

注
-

`Window.scroll()` はこのメソッドとほぼ同じです。相対スクロールについては、 `Window.scrollBy()`, `Window.scrollByLines()`, `Window.scrollByPages()` を参照してください。

要素をスクロールするには、 `Element.scrollTop` および `Element.scrollLeft` を参照してください。

仕様書
---

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

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

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