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

Возвращает ссылку на корневое окно в иерархии окон.

Синтаксис
---------
```

var topWindow = window.top;
```

Примечание
----------

Если свойство `window.parent` возвращает ссылку именно на родительское окно текущего окна, то `window.top` возвращает ссылку на самое верхнее окно в текущей иерархии окон.

Это свойство полезно, когда вы имеете дело с окном (фреймом), которое находится в подкадре родителя или родителей, и вы хотите получить ссылку на верхний уровень всего набора окон.

Спецификации
------------

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

Совместимость с браузерами
--------------------------

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

Свойство **`window.console`** даёт доступ к интерфейсу `Console`, предоставляющий методы для вывода информации в консоль браузера. Данные методы предназначены для отладки приложения, и не должны использоваться конечными пользователями.

Синтаксис
---------
```

var consoleObj = window.console;
```

Примеры
-------

### Вывод текста в консоль

Первый пример просто выведет текст в консоль:


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


Следующий пример выведет объект в консоль, с возможностью раскрытия отдельных полей:


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


Примеры можно посмотреть по ссылке: Usage

Спецификации
------------

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

Совместимость с браузерами
--------------------------

{{Compat}}
GlobalEventHandlers.onerror
===========================

Обработчик события для ошибок среды Javascript.

Обратите внимание, что некоторые/многие `error` не вызывают `window.onerror`, вы должны слушать их специально.

Синтаксис
---------
```

window.onerror = funcRef;
```

### Параметры

* `funcRef` ссылка на функцию. Когда функция возвращает `true`, блокируется вызов обработчика события по умолчанию. Параметры функции:
    + Сообщение ошибки (string)
    + Url, где произошла ошибка (string)
    + Номер строки, где произошла ошибка (number)
    + Номер столбца для строки, в которой произошла ошибка (number)
    + Error Object (object)
Примеры
-------


```js
// Пример 1:

// Предотвращает диалоги об ошибках, отображает какая это функция окна, это нормальное
// поведение - путём переопределения обработчика событий по умолчанию для событий об ошибках, которые
// переходят окну.
window.onerror = null;

// Пример 2:

var gOldOnError = window.onerror;
// Переопределить прошлый обработчик события.
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
  if (gOldOnError)
    // Вызвать прошлый обработчик события.
    return gOldOnError(errorMsg, url, lineNumber);

  // Просто запустить обработчик события по умолчанию.
  return false;
};
```

Спецификации
------------

| Specification |
| --- |
| HTML Standard # event-error |
| HTML Standard # handler-onerror |
Window.blur()
=============

Описание
--------

Убирает фокус с окна.

Синтаксис
---------
```

window.blur()
```

Пример
------


```js
window.blur();
```

Примечания
----------

Метод window.blur() является программным эквивалентом действия, когда пользователь переключает фокус с текущего окна.

Спецификации
------------

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

Совместимость с браузерами
--------------------------

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

Метод **`Window.alert()`** показывает диалоговое окно с опциональным (необязательным) сообщением и кнопкой OK.

Синтаксис
---------
```

window.alert(message);
```


* `message` это опциональная (необязательная) строка текста, которую вы хотите отобразить в диалоговом окне, или же объект, который будет преобразован в строку и отображён.
Пример
------


```js
window.alert("Hello world!");
```


покажет:

![Image:AlertHelloWorld.png](/files/130/AlertHelloWorld.png)

Больше JS
---------


```js
alert();
```

Примечания
----------

Этот диалог следует использовать для сообщений, которые не требуют никакого ответа от пользователя, кроме подтверждения самого сообщения.

Окна сообщений - модальные, они препятствуют получению пользователем доступа к другим частям страницы до тех пор, пока окно не будет закрыто. По этой причине, вам не следует злоупотреблять этой функцией.

The following text is shared between this article, DOM:window.prompt and DOM:window.confirm Пользователи Mozilla Chrome (например, расширения для Firefox) должны использовать метод `nsIPromptService`.

Начиная с Chrome 46.0 этот метод заблокирован в `<iframe>` (en-US) пока атрибут sandbox не установлен в значение `allow-modal`.

Аргумент является опциональным и необязательным согласно спецификации.

Спецификации
------------

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

Совместимость с браузерами
--------------------------

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

Смотрите также
--------------

* Элемент `<dialog>`
* `confirm`
* `prompt`
Window.screen
=============

Свойство **`screen`** объекта `Window` возвращает ссылку на экран объекта, который содержит информацию об экране пользователя. Похожий по смыслу, объект `screen`, который имплементирует интерфейс `Screen` представляет собой совокупность свойств экрана пользователя.

Синтаксис
---------
```

let screenObj = window.screen;
```

Пример
------


```js
if (screen.pixelDepth < 8) {
  // uиспользовать пониженную глубину пикселей
} else {
  // Использовать стандартную глубину пикселей(24)
}
```

Спецификации
------------

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

Совместимость с браузерами
--------------------------

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

Событие `load` происходит когда ресурс и его зависимые ресурсы закончили загружаться.

General info
------------

Спецификация

DOM L3

Интерфейс

UIEvent

Всплывает

Да

Отменяемое

Нет

Цель

Window

Default Action

Нет.

Свойства
--------

| Property | Type | Description |
| --- | --- | --- |
| `target` Только для чтения  | `EventTarget` | The event target (the topmost target in the DOM tree). |
| `type` Только для чтения  | `DOMString` | The type of event. |
| `bubbles` Только для чтения  | `Boolean` (en-US) | Whether the event normally bubbles or not. |
| `cancelable` Только для чтения  | `Boolean` (en-US) | Whether the event is cancellable or not. |
| `view` Только для чтения  | `WindowProxy` | `document.defaultView` (`window` of the document) |
| `detail` Только для чтения  | `long` (`float`) | 0. |

Пример
------


```html
<script>
 window.addEventListener("load", function (event) {
 console.log("All resources finished loading!");
 });
</script>
```

Связанные события
-----------------

* `DOMContentLoaded (en-US)`
* `readystatechange (en-US)`
* `load (en-US)`
* `beforeunload (en-US)`
* `unload (en-US)`
Window.scrollY
==============

**`scrollY`** — свойство только для чтения интерфейса `Window`. Возвращает число пикселей, на которое документ пролистали в данный момент по вертикали. В современных браузерах это значение является точным числом субпикселей, что означает отсутствие необходимости в полном значении количества пикселей. Вы можете получить количество пикселей, пролистанных по горизонтали с помощью свойства `scrollX`.

Синтаксис
---------
```

var y = window.scrollY
```

### Значение

Возвращаемое значение является числом с плавающей точкой двойной точности, показывающее количество пикселей в документе, которые были пролистаны на данный момент от начальной позиции, где положительное значение означает, что контент был пролистан наверх. Если документ был просматривается на устройстве с возможностью вычислять точное число субпикселей, то возвращаемое значение также является точным количеством субпикселей и может иметь десятичную часть. Если контент не был пролистан ни в одну из сторон по Y, то `scrollY` = 0.

**Примечание:** Если вам нужно получить целочисленное значение, используйте `Math.round()` для округления.

Говоря технически, то `scrollY` возвращает Y-координату от верхнего края текущего окна просмотра (viewport). Если окна просмотра нет, то возвращаемое значение = 0.

Пример
------


```js
// проверить и перейти ко второй странице
if (window.scrollY) {
  window.scroll(0, 0); // Обнулите позицию пролистывания на левый верхний угол документа.
}

window.scrollByPages(1);
```

Примечания
----------

Применяйте данное свойство для проверки, был ли пролистан документ, когда используете похожие функции для работы с пролистыванием, такие как `scrollBy()`, `scrollByLines()`, or `scrollByPages()` (en-US).

Свойство `pageYOffset` - другое название свойства `scrollY` :
```

window.pageYOffset == window.scrollY; // всегда верно
```


Для кросс-браузерной совместимости используйте `window.pageYOffset` вместо `window.scrollY`. **Кроме того**, старые версии Internet Explorer (<9) не поддерживают оба свойства. Для работы в Internet Explorer необходимо использовать нестандарные свойства. Пример полностью совместимого со всеми браузерами кода:


```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.close()
==============

Функция **`Window.close()`** закрывает текущее окно или окно, которое было открыто с помощью функции **`Window.open()`**.

Этот метод разрешено использовать только для окон, которые были открыты с помощью функции `window.open()` (en-US). Если окно не было открыто посредством JavaScript, в консоли появится ошибка, похожая на эту: `Scripts may not close windows that were not opened by script.`

Синтаксис
---------
```

window.close();
```

Примеры
-------

### Закрытие окна, открытого с помощью `window.open()`

В примере показаны два метода, в которых первый из них открывает окно, а второй закрывает; этот пример иллюстрирует как использовать `Window.close() для закрытия окна, открытого с помощью функции` `window.open()` (en-US).


```js
// Глобальная переменная, хранящая ссылку на открыток окно
var openedWindow;

function openWindow() {
  openedWindow = window.open("moreinfo.htm");
}

function closeOpenedWindow() {
  openedWindow.close();
}
```

### Закрытие текущего окна

В прошлом, если бы вы вызвали функцию close() объекта window, вместо вызова функции close() для созданного окна, браузер закрыл бы текущее окно, создал ли его ваш скрипт или нет. В текущее время этого не произойдёт; по причинам безопасности, скриптам больше не разрешено закрывать окна, которые они не открыли. (Firefox 46.0.1: scripts can not close windows, they had not opened)


```js
function closeCurrentWindow() {
  window.close();
}
```

Спецификация
------------

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

Совместимость с браузерами
--------------------------

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

Событие **beforeunload** запускается, когда окно, документ и его ресурсы вот-вот будут выгружены. Документ все ещё виден, и событие в этот момент может быть отменено.

|  |  |
| --- | --- |
| Всплываемость | Нет |
| Отменяемость | Да |
| Интерфейс | `Event` |
| Свойство обработчика событий | `onbeforeunload` (en-US) |

Это событие позволяет веб-странице вызвать диалоговое окно подтверждения, спрашивающее пользователя, действительно ли он хочет покинуть страницу. Если пользователь подтверждает, браузер переходит на новую страницу, в противном случае он отменяет навигацию.

В соответствии со спецификацией, для отображения диалогового окна подтверждения обработчик события должен вызвать`preventDefault()` по событию.

Однако обратите внимание, что не все браузеры поддерживают этот метод, а некоторые требуют от обработчика событий реализации одного из двух старых методов:

* назначение строки свойству returnValue события
* возвращающий строку из обработчика событий.

Некоторые браузеры используют для отображения возвращаемой строки в диалоге подтверждения, позволяя обработчику события отображать пользователю пользовательское сообщение. Однако это устарело и больше не поддерживается в большинстве браузеров.

Для борьбы с нежелательными всплывающими окнами браузеры могут не отображать подсказки, созданные в обработчиках событий **beforeunload**, за исключением случаев, когда страница была обработана или даже не отображается вообще.

Прикрепление обработчика событий к `window` или `document` `beforeunload` событие не позволяет браузерам использовать кеш навигации по страницам в памяти, наподобие Firefox's Back-Forward cache or WebKit's Page Cache.

В спецификации HTML указано, что вызовы `window.alert()`, `window.confirm()`, и `window.prompt()` методы могут быть проигнорированы во время этого события. Посмотреть HTML specification для более подробной информации.

Примеры
-------

В HTML-спецификации указано, что авторы должны использовать метод `Event.preventDefault()`, а не `Event.returnValue` (en-US). Однако, это поддерживается не всеми браузерами.


```js
window.addEventListener("beforeunload", (event) => {
  // Отмените событие, как указано в стандарте.
  event.preventDefault();
  // Chrome требует установки возвратного значения.
  event.returnValue = "";
});
```

Спецификации
------------

| Specification |
| --- |
| HTML Standard # event-beforeunload |
| HTML Standard # handler-window-onbeforeunload |

Совместимость с браузерами
--------------------------

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

Смотрите WindowEventHandlers/onbeforeunload (en-US) для получения более подробной информации о том, как различные браузеры обрабатывают это событие.

Смотрите также
--------------

* Related events: `DOMContentLoaded` (en-US), `readystatechange`, `load`, `unload`
* Unloading Documents — Prompt to unload a document
* Remove Custom Messages in onbeforeload Dialogs after Chrome 51
Window.scrollBy()
=================

Описание
--------

Прокручивает документ на указанные величины.

Синтаксис
---------
```

window.scrollBy(X, Y);
```

### Параметры

* `X` - смещение в пикселях по горизонтали.
* `Y` - смещение в пикселях по вертикали.

Положительные значения приведут к прокрутке страницы вправо и вниз. Отрицательные координаты прокрутят страницу влево и вверх.

Пример
------
```

// Прокрутка на один экран вертикально вниз.
window.scrollBy(0, window.innerHeight);
```

Примечания
----------

window.scrollBy (en-US) прокручивает страницу на указанное количество пикселей, в то время как метод window.scroll (en-US) указывает абсолютную позицию в документе, на которую надо сместиться. Смотрите также window.scrollByLines (en-US), window.scrollByPages (en-US)

Спецификации
------------

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

Совместимость с браузерами
--------------------------

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

Событие **`unhandledrejection`** происходит, когда `Promise` завершён с ошибкой, но на данную ошибку не установлен обработчик.

|  |  |
| --- | --- |
| Всплытие | Нет |
| Возможность отмены | Нет |
| Target objects | defaultView |
| Интерфейс | `PromiseRejectionEvent` (en-US) |

Пример
------


```js
window.addEventListener("unhandledrejection", function (event) {
  console.warn(
    "Внимание: Необработанная ошибка Promise. Позор вам! Причина: " +
      event.reason,
  );
});
```

Inheritance
-----------

Событие `unhandledrejection` реализует `PromiseRejectionEvent` (en-US) интерфейс, который наследуется от `Event`. Вы можете использовать свойства и методы, определённые в данных интерфейсах.

EventTarget

WindowСмотрите также
--------------

* `rejectionhandled`
* `PromiseRejectionEvent` (en-US)
* `Promise` (en-US)
GlobalEventHandlers.onblur
==========================

Свойство **`onblur`** из `GlobalEventHandlers` событий `event handler` для `blur (en-US)` события. Оно доступно для`Element`, `Document` и `Window`.

Событие `blur` возникает когда элемент теряет фокус.

**Примечание:** Обратным `onblur` является `onfocus`.

Syntax
------
```

target.onblur = functionRef;
```

### Value

`functionRef` - это имя функции или function expression. Функция получает объект `FocusEvent` (en-US) в качестве единственного аргумента.

Example
-------

В этом примере `onblur` и `onfocus` используются для изменения текста в элементе `<input>`.

### HTML


```html
<input type="text" value="CLICK HERE" />
```

### JavaScript


```js
let input = document.querySelector("input");

input.onblur = inputBlur;
input.onfocus = inputFocus;

function inputBlur() {
  input.value = "Focus has been lost";
}

function inputFocus() {
  input.value = "Focus is here";
}
```

### Result

Нажимайте внутри и вне поля формы. Содержимое будет изменятся.

Спецификации
------------

| Specification |
| --- |
| UI Events # event-type-blur |
| HTML Standard # handler-onblur |

Совместимость с браузерами
--------------------------

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

See also
--------

* `blur (en-US)` event
* Related event handler: `GlobalEventHandlers.onfocus`
Window.scrollByLines()
======================

**Не стандартно:** Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Summary
-------

Прокручивает документ на заданное число строк.

Syntax
------
```

window.scrollByLines(lines)
```

Parameters
----------

* `lines` — число линий, на которое надо прокрутить документ.
* `lines` может быть положительным или отрицательным целым числом.
Example
-------


```html
<!-- прокручивает страницу вниз на 5 линий. -->
<button onclick="scrollByLines(5);">down 5 lines</button>
```



```html
<!-- прокручивает страницу вверх на 5 линий. -->
<button onclick="scrollByLines(-5);">up 5 lines</button>
```

Specification
-------------

Не является частью спецификации

See also
--------

* `window.scrollBy`, `window.scrollByPages` (en-US)
window.requestIdleCallback()
============================

Метод **`window.requestIdleCallback()`** ставит в очередь функцию, которая будет вызываться во время периодов простоя браузера. Это позволяет разработчикам выполнять фоновую и низкоприоритетную работу в основном цикле событий, без влияния на такие критично важные события, как анимация и обработка ввода. Функции обычно вызываются в порядке добавления в очередь, однако функции с заданными `timeout` могут быть вызваны не по порядку, если необходимо запустить их до истечения таймаута.

Вы можете вызвать `requestIdleCallback()` внутри callback-функции в режиме ожидания для планирования запуска другой функции, который произойдёт не раньше, чем следующая фаза цикла событий.

**Примечание:** Параметр `timeout` настоятельно рекомендован для использования, потому что в противном случае может пройти несколько секунд прежде, чем будет вызвана callback-функция.

Синтаксис
---------


```js
requestIdleCallback(callback)
requestIdleCallback(callback, options)
```

### Параметры

`callback`

Ссылка на функцию, которая должна быть вызвана в ближайшем будущем, когда цикл событий будет в режиме ожидания. Функции передаётся объект `IdleDeadline` (en-US), описывающий количество доступного времени и был ли запущена функция.

`options` Необязательный

Содержит необязательные параметры конфигурации. На текущий момент, определено только одно свойство:

`timeout`

Если количество миллисекунд, представленное этим параметром, истекло, а callback-функция ещё не была вызвана, то задача выполнения callback-функции ставится в очередь в цикле событий (даже если это может отрицательно повлиять на производительность). Значение `timeout` должно быть положительным числом, иначе будет проигнорировано.


### Возвращаемое значение

Возвращает ID, который может быть использован для отмены callback-функции, с помощью метода `window.cancelIdleCallback()` (en-US).

Пример
------

Посмотрите наш готовый пример (en-US) в статье Cooperative Scheduling of Background Tasks API (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)
* `setTimeout()`
* `setInterval()`
* `window.requestAnimationFrame`
Window.scrollX
==============

**`scrollX`** — свойство только для чтения интерфейса `Window`. Возвращает число пикселей, на которое документ пролистали в данный момент по горизонтали. В современных браузерах это значение является точным числом субпикселей, что означает отсутствие необходимости в полном значении количества пикселей. Вы можете получить количество пикселей, пролистанных по вертикали с помощью свойства `scrollY` .

Синтаксис
---------
```

var x = window.scrollX;
```

### Value

Возвращаемое значение является числом с плавающей точкой двойной точности, показывающее количество пикселей в документе, которые были пролистаны на данный момент от начальной позиции, где положительное значение означает, что контент был пролистан налево. Если документ был просматривается на устройстве с возможностью вычислять точное число субпикселей, то возвращаемое значение также является точным количеством субпикселей и может иметь десятичную часть. Если контент не был пролистан ни в одну из сторон по X, то `scrollX` = 0.

**Примечание:** Если вам нужно получить целочисленное значение, используйте `Math.round()` для округления.

Говоря технически, то `scrollX` возвращает X-координату от верхнего края текущего окна просмотра (viewport). Если окна просмотра нет, то возвращаемое значение = 0.

Пример
------

В данном примере проверяется текущая горизонтальная позиция пролистывания текущего документа. Если это число больше 400 пикселей, то окно пролистывается к началу.


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

Примечания
----------

Свойство `pageXOffset` - другое название свойства `scrollX`:
```

window.pageXOffset == window.scrollX; // всегда верно
```


Для кросс-браузерной совместимости используйте `window.pageXOffset` вместо `window.scrollX`. **Кроме того**, старые версии Internet Explorer (<9) не поддерживают оба свойства. Для работы в Internet Explorer необходимо использовать нестандарные свойства. Пример полностью совместимого со всеми браузерами кода:


```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`