From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/window/alert/index.html | 75 ++++ .../web/api/window/beforeunload_event/index.html | 100 +++++ files/ru/web/api/window/blur/index.html | 39 ++ .../web/api/window/cancelanimationframe/index.html | 65 +++ files/ru/web/api/window/clearimmediate/index.html | 44 ++ files/ru/web/api/window/close/index.html | 67 +++ files/ru/web/api/window/closed/index.html | 59 +++ files/ru/web/api/window/confirm/index.html | 70 ++++ files/ru/web/api/window/console/index.html | 53 +++ files/ru/web/api/window/crypto/index.html | 93 +++++ .../api/window/deviceorientation_event/index.html | 171 ++++++++ .../ru/web/api/window/devicepixelratio/index.html | 46 +++ files/ru/web/api/window/document/index.html | 63 +++ files/ru/web/api/window/frameelement/index.html | 95 +++++ files/ru/web/api/window/frames/index.html | 57 +++ .../api/window/gamepadconnected_event/index.html | 85 ++++ .../window/gamepaddisconnected_event/index.html | 74 ++++ .../ru/web/api/window/getcomputedstyle/index.html | 198 +++++++++ files/ru/web/api/window/getselection/index.html | 142 +++++++ .../ru/web/api/window/hashchange_event/index.html | 159 +++++++ files/ru/web/api/window/history/index.html | 51 +++ files/ru/web/api/window/index.html | 457 +++++++++++++++++++++ files/ru/web/api/window/innerheight/index.html | 88 ++++ files/ru/web/api/window/length/index.html | 47 +++ files/ru/web/api/window/localstorage/index.html | 94 +++++ files/ru/web/api/window/location/index.html | 216 ++++++++++ files/ru/web/api/window/matchmedia/index.html | 53 +++ files/ru/web/api/window/moveby/index.html | 70 ++++ files/ru/web/api/window/moveto/index.html | 73 ++++ .../api/window/mozanimationstarttime/index.html | 46 +++ files/ru/web/api/window/name/index.html | 29 ++ files/ru/web/api/window/navigator/index.html | 90 ++++ .../web/api/window/ondeviceorientation/index.html | 53 +++ .../web/api/window/ongamepadconnected/index.html | 52 +++ .../api/window/ongamepaddisconnected/index.html | 51 +++ files/ru/web/api/window/onpaint/index.html | 31 ++ files/ru/web/api/window/pageyoffset/index.html | 166 ++++++++ files/ru/web/api/window/parent/index.html | 46 +++ files/ru/web/api/window/performance/index.html | 48 +++ files/ru/web/api/window/popstate_event/index.html | 155 +++++++ files/ru/web/api/window/postmessage/index.html | 245 +++++++++++ files/ru/web/api/window/print/index.html | 46 +++ files/ru/web/api/window/prompt/index.html | 77 ++++ .../web/api/window/requestidlecallback/index.html | 121 ++++++ files/ru/web/api/window/resize_event/index.html | 192 +++++++++ files/ru/web/api/window/screen/index.html | 46 +++ files/ru/web/api/window/screenx/index.html | 97 +++++ files/ru/web/api/window/scroll/index.html | 37 ++ files/ru/web/api/window/scrollby/index.html | 53 +++ files/ru/web/api/window/scrollbylines/index.html | 46 +++ files/ru/web/api/window/scrollmaxx/index.html | 39 ++ files/ru/web/api/window/scrollmaxy/index.html | 42 ++ files/ru/web/api/window/scrollto/index.html | 50 +++ files/ru/web/api/window/scrollx/index.html | 156 +++++++ files/ru/web/api/window/scrolly/index.html | 77 ++++ files/ru/web/api/window/self/index.html | 66 +++ files/ru/web/api/window/sessionstorage/index.html | 139 +++++++ files/ru/web/api/window/stop/index.html | 45 ++ files/ru/web/api/window/storage_event/index.html | 82 ++++ files/ru/web/api/window/top/index.html | 99 +++++ 60 files changed, 5426 insertions(+) create mode 100644 files/ru/web/api/window/alert/index.html create mode 100644 files/ru/web/api/window/beforeunload_event/index.html create mode 100644 files/ru/web/api/window/blur/index.html create mode 100644 files/ru/web/api/window/cancelanimationframe/index.html create mode 100644 files/ru/web/api/window/clearimmediate/index.html create mode 100644 files/ru/web/api/window/close/index.html create mode 100644 files/ru/web/api/window/closed/index.html create mode 100644 files/ru/web/api/window/confirm/index.html create mode 100644 files/ru/web/api/window/console/index.html create mode 100644 files/ru/web/api/window/crypto/index.html create mode 100644 files/ru/web/api/window/deviceorientation_event/index.html create mode 100644 files/ru/web/api/window/devicepixelratio/index.html create mode 100644 files/ru/web/api/window/document/index.html create mode 100644 files/ru/web/api/window/frameelement/index.html create mode 100644 files/ru/web/api/window/frames/index.html create mode 100644 files/ru/web/api/window/gamepadconnected_event/index.html create mode 100644 files/ru/web/api/window/gamepaddisconnected_event/index.html create mode 100644 files/ru/web/api/window/getcomputedstyle/index.html create mode 100644 files/ru/web/api/window/getselection/index.html create mode 100644 files/ru/web/api/window/hashchange_event/index.html create mode 100644 files/ru/web/api/window/history/index.html create mode 100644 files/ru/web/api/window/index.html create mode 100644 files/ru/web/api/window/innerheight/index.html create mode 100644 files/ru/web/api/window/length/index.html create mode 100644 files/ru/web/api/window/localstorage/index.html create mode 100644 files/ru/web/api/window/location/index.html create mode 100644 files/ru/web/api/window/matchmedia/index.html create mode 100644 files/ru/web/api/window/moveby/index.html create mode 100644 files/ru/web/api/window/moveto/index.html create mode 100644 files/ru/web/api/window/mozanimationstarttime/index.html create mode 100644 files/ru/web/api/window/name/index.html create mode 100644 files/ru/web/api/window/navigator/index.html create mode 100644 files/ru/web/api/window/ondeviceorientation/index.html create mode 100644 files/ru/web/api/window/ongamepadconnected/index.html create mode 100644 files/ru/web/api/window/ongamepaddisconnected/index.html create mode 100644 files/ru/web/api/window/onpaint/index.html create mode 100644 files/ru/web/api/window/pageyoffset/index.html create mode 100644 files/ru/web/api/window/parent/index.html create mode 100644 files/ru/web/api/window/performance/index.html create mode 100644 files/ru/web/api/window/popstate_event/index.html create mode 100644 files/ru/web/api/window/postmessage/index.html create mode 100644 files/ru/web/api/window/print/index.html create mode 100644 files/ru/web/api/window/prompt/index.html create mode 100644 files/ru/web/api/window/requestidlecallback/index.html create mode 100644 files/ru/web/api/window/resize_event/index.html create mode 100644 files/ru/web/api/window/screen/index.html create mode 100644 files/ru/web/api/window/screenx/index.html create mode 100644 files/ru/web/api/window/scroll/index.html create mode 100644 files/ru/web/api/window/scrollby/index.html create mode 100644 files/ru/web/api/window/scrollbylines/index.html create mode 100644 files/ru/web/api/window/scrollmaxx/index.html create mode 100644 files/ru/web/api/window/scrollmaxy/index.html create mode 100644 files/ru/web/api/window/scrollto/index.html create mode 100644 files/ru/web/api/window/scrollx/index.html create mode 100644 files/ru/web/api/window/scrolly/index.html create mode 100644 files/ru/web/api/window/self/index.html create mode 100644 files/ru/web/api/window/sessionstorage/index.html create mode 100644 files/ru/web/api/window/stop/index.html create mode 100644 files/ru/web/api/window/storage_event/index.html create mode 100644 files/ru/web/api/window/top/index.html (limited to 'files/ru/web/api/window') diff --git a/files/ru/web/api/window/alert/index.html b/files/ru/web/api/window/alert/index.html new file mode 100644 index 0000000000..d727f8083a --- /dev/null +++ b/files/ru/web/api/window/alert/index.html @@ -0,0 +1,75 @@ +--- +title: Window.alert() +slug: Web/API/Window/alert +translation_of: Web/API/Window/alert +--- +

{{ APIRef }}

+ +

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

+ +

Синтаксис

+ +
window.alert(message);
+ + + +

Пример

+ +
window.alert("Hello world!");
+
+ +

покажет:

+ +

Image:AlertHelloWorld.png

+ +

Больше JS

+ +
alert();
+
+ +

Примечания

+ +

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

+ +

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

+ +

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

+ +

Начиная с Chrome {{CompatChrome(46.0)}} этот метод заблокирован в {{htmlelement("iframe")}} пока аттрибут sandbox не устанолвлен в значение allow-modal.

+ +

{{gecko_minversion_inline("23.0")}} Аргумент является опциональным и необязательным согласно спецификации.

+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG', 'timers-and-user-prompts.html#dom-alert', 'alert()')}}{{Spec2('HTML WHATWG')}} +

 

+
+ +

 

+ +

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

+ +

{{Compat("api.Window.alert")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/beforeunload_event/index.html b/files/ru/web/api/window/beforeunload_event/index.html new file mode 100644 index 0000000000..dfc23da20f --- /dev/null +++ b/files/ru/web/api/window/beforeunload_event/index.html @@ -0,0 +1,100 @@ +--- +title: 'Window: beforeunload event' +slug: Web/API/Window/beforeunload_event +translation_of: Web/API/Window/beforeunload_event +--- +
{{APIRef}}
+ +

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

+ + + + + + + + + + + + + + + + + + + + +
ВсплываемостьНет
ОтменяемостьДа
Интерфейс{{domxref("Event")}}
Свойство обработчика событий{{domxref("WindowEventHandlers/onbeforeunload", "onbeforeunload")}}
+ +

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

+ +

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

+ +

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

+ + + +

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

+ +

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

+ +

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

+ +

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

+ +

Примеры

+ +

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

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

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

+ + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName("HTML WHATWG", "indices.html#event-beforeunload", "beforeunload")}}{{Spec2("HTML WHATWG")}}
{{SpecName("HTML5 W3C", "browsers.html#unloading-documents", "beforeunload")}}{{Spec2("HTML5 W3C")}}Initial definition
+ +

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

+ + + +

{{Compat("api.Window.beforeunload_event")}}

+ +

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

+ +

См. также

+ + diff --git a/files/ru/web/api/window/blur/index.html b/files/ru/web/api/window/blur/index.html new file mode 100644 index 0000000000..f5a8f8358a --- /dev/null +++ b/files/ru/web/api/window/blur/index.html @@ -0,0 +1,39 @@ +--- +title: Window.blur() +slug: Web/API/Window/blur +translation_of: Web/API/Window/blur +--- +

{{APIRef}}

+ +

Описание

+ +

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

+ +

Синтаксис

+ +
window.blur()
+ +

Пример

+ +
window.blur();
+ +

Примечания

+ +

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

+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG','interaction.html#dom-window-blur','Window.blur()')}}{{Spec2('HTML WHATWG')}} 
diff --git a/files/ru/web/api/window/cancelanimationframe/index.html b/files/ru/web/api/window/cancelanimationframe/index.html new file mode 100644 index 0000000000..897d147ae0 --- /dev/null +++ b/files/ru/web/api/window/cancelanimationframe/index.html @@ -0,0 +1,65 @@ +--- +title: window.cancelAnimationFrame() +slug: Web/API/Window/cancelAnimationFrame +translation_of: Web/API/Window/cancelAnimationFrame +--- +
{{APIRef}}
+ +

Метод window.cancelAnimationFrame() останавливает анимацию, запланированную с помощью {{domxref("window.requestAnimationFrame()")}}.

+ +

Синтаксис

+ +
window.cancelAnimationFrame(requestID);
+
+ +

Параметры

+ +
+
requestID
+
Значение, которое возвращает {{domxref("window.requestAnimationFrame()")}} при запросе callback.
+
+ +

Примеры

+ +
var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
+                            window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
+
+var cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;
+
+var start = window.mozAnimationStartTime;  // Поддерживается только FF. В других браузерах можно использовать Date.now().
+
+var myReq;
+
+function step(timestamp) {
+  var progress = timestamp - start;
+  d.style.left = Math.min(progress / 10, 200) + 'px';
+  if (progress < 2000) {
+    // Важно обновлять requestId при каждом запросе requestAnimationFrame
+    myReq = requestAnimationFrame(step);
+  }
+}
+myReq = requestAnimationFrame(step);
+// остановка с использованием последнего requestId
+cancelAnimationFrame(myReq);
+
+ +

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

+ +
+ + +

{{Compat("api.Window.cancelAnimationFrame")}}

+
+ +

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

+ + + +

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

+ + diff --git a/files/ru/web/api/window/clearimmediate/index.html b/files/ru/web/api/window/clearimmediate/index.html new file mode 100644 index 0000000000..b1ac586186 --- /dev/null +++ b/files/ru/web/api/window/clearimmediate/index.html @@ -0,0 +1,44 @@ +--- +title: Window.clearImmediate() +slug: Web/API/Window/clearImmediate +tags: + - API + - DOM + - метод +translation_of: Web/API/Window/clearImmediate +--- +

{{ Apiref() }}

+ +

Данный метод очищает действие, определённое {{ domxref("window.setImmediate") }}.

+ +
Note: На текущий момент данный метод находится на стадии предложения на внедрение, не является стандартом и имплементирован только в последних сборках Internet Explorer.
+ +

Синтаксис

+ +
window.clearImmediate(immediateID)
+
+ +

где immediateID это идентификатор, возвращаемый из {{ domxref("window.setImmediate") }}.

+ +

Примеры

+ +
var immediateID = setImmediate(function () {
+  // Выполнение некоего кода
+}
+
+document.getElementById("button").addEventListener(function () {
+  clearImmediate(immediateID);
+}, false);
+
+ +

Поддержка браузерами

+ + + +

{{Compat("api.Window.clearImmediate")}}

+ +

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

+ +

{{ domxref("window.setImmediate") }}

+ +

{{ spec("https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/setImmediate/Overview.html", "Specification: Efficient Script Yielding") }}

diff --git a/files/ru/web/api/window/close/index.html b/files/ru/web/api/window/close/index.html new file mode 100644 index 0000000000..87d7225262 --- /dev/null +++ b/files/ru/web/api/window/close/index.html @@ -0,0 +1,67 @@ +--- +title: Window.close() +slug: Web/API/Window/close +translation_of: Web/API/Window/close +--- +

{{APIRef}}

+ +

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

+ +

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

+ +

Синтаксис

+ +
window.close();
+ +

Примеры

+ +

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

+ +

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

+ +
// Глобальная переменная, хранящая ссылку на открыток окно
+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)

+ +
function closeCurrentWindow() {
+  window.close();
+}
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('HTML WHATWG', '#dom-window-close', 'window.close()')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C', "browsers.html#dom-window-close", "Window.close()")}}{{Spec2('HTML5 W3C')}} 
+ +

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

+ +

{{Compat("api.Window.close")}}

diff --git a/files/ru/web/api/window/closed/index.html b/files/ru/web/api/window/closed/index.html new file mode 100644 index 0000000000..fc1cf46867 --- /dev/null +++ b/files/ru/web/api/window/closed/index.html @@ -0,0 +1,59 @@ +--- +title: Window.closed +slug: Web/API/Window/closed +translation_of: Web/API/Window/closed +--- +
{{APIRef}}
+ +

Общая информация

+ +

Данное свойство только для чтения указывает, открыто ли целевое  окно или нет.

+ +

Синтаксис

+ +
isClosed = windowRef.closed;
+
+ +
+
isClosed
+
Переменная логического типа. Возможные значения: +
    +
  • true: Окно было закрыто.
  • +
  • false: Окно открыто.
  • +
+
+
+ +

Примеры

+ +

Изменение URL окна браузера со всплывающего окна

+ +

Следующий пример демонстрирует, как всплывающее окно может изменять URL окна, которое его открыло. Перед тем, как изменить URL, оно проверяет, имеет ли текущее окно свойство window.opener и не закрыто ли оно:

+ +
// проверяет, если window.opener существует и не закрыт
+if (window.opener && !window.opener.closed) {
+  window.opener.location.href = "http://www.mozilla.org";
+}
+ +

Заметьте, что всплывающие окна имеют доступ только к окнам, которые их открыли.

+ +

Обновление ранее открытого всплывающего окна

+ +

В данном примере функция refreshPopupWindow() вызывает метод reload у объекта локации всплывающего окна для обновления его данных. Если всплывающее окно еще не было открыто или пользователь его закрыл, открывает новое окно.

+ +
var popupWindow = null;
+
+function refreshPopupWindow() {
+  if (popupWindow && !popupWindow.closed) {
+    // popupWindow открыто, обновите его
+    popupWindow.location.reload(true);
+  } else {
+    // открывает новое всплывающее окно
+    popupWindow = window.open("popup.html","dataWindow");
+  }
+}
+
+ +

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

+ +

HTML5

diff --git a/files/ru/web/api/window/confirm/index.html b/files/ru/web/api/window/confirm/index.html new file mode 100644 index 0000000000..8e481973df --- /dev/null +++ b/files/ru/web/api/window/confirm/index.html @@ -0,0 +1,70 @@ +--- +title: Window.confirm() +slug: Web/API/Window/confirm +translation_of: Web/API/Window/confirm +--- +
{{ApiRef("Window")}}
+ +

Метод Window.confirm() отображает диалоговое окно, которое содержит две кнопки (OK и Cancel), а так же опциональное (необязательное) текстовое сообщение.

+ +

Синтаксис

+ +
result = window.confirm(message);
+
+ + + +

Пример

+ +
if (window.confirm("Do you really want to leave?")) {
+  window.open("exit.html", "Thanks for Visiting!");
+}
+
+ +

Результат:

+ +

firefox confirm
+  

+ +

Заметки

+ +

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

+ +

Пользователям Mozilla Chrome (например, расширений Firefox) следует использовать методы {{interface("nsIPromptService")}} как альтернативу.

+ +

Начиная с Chrome {{CompatChrome(46.0)}} этот метод заблокирован в {{htmlelement("iframe")}} до тех пор, пока атрибут sandbox не установлен в значение allow-modal.

+ +

{{gecko_minversion_inline("23.0")}} Аргумент является опциональным и необязательным согласно спецификации.

+ +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', 'timers-and-user-prompts.html#dom-confirm', 'confirm()')}}{{Spec2('HTML WHATWG')}} 
+ +

 

+ +

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

+ +

{{Compat("api.Window.confirm")}}

+ +

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

+ + diff --git a/files/ru/web/api/window/console/index.html b/files/ru/web/api/window/console/index.html new file mode 100644 index 0000000000..d6fac2ad19 --- /dev/null +++ b/files/ru/web/api/window/console/index.html @@ -0,0 +1,53 @@ +--- +title: Window.console +slug: Web/API/Window/console +translation_of: Web/API/Window/console +--- +

{{ APIRef }}

+ +

Свойство window.console дает доступ к интерфейсу {{domxref("Console")}}, предоставляющий методы для вывода информации в консоль браузера. Данные методы предназначены для отладки приложения, и не должны использоваться конечными пользователями.

+ +

Синтаксис

+ +
var consoleObj = window.console;
+
+ +

Примеры

+ +

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

+ +

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

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

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

+ +
console.dir(someObject);
+ +

Примеры можно посмотреть по ссылке: {{SectionOnPage("/ru/docs/Web/API/Console", "Usage")}}

+ +

 

+ +

 

+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Console API')}}{{Spec2('Console API')}}Initial definition.
+ +
+

Currently there are many implementation differences among browsers, but work is being done to bring them together and make them more consistent with one another.

+
diff --git a/files/ru/web/api/window/crypto/index.html b/files/ru/web/api/window/crypto/index.html new file mode 100644 index 0000000000..48087d7eda --- /dev/null +++ b/files/ru/web/api/window/crypto/index.html @@ -0,0 +1,93 @@ +--- +title: Window.crypto +slug: Web/API/Window/crypto +tags: + - API + - Нужно описание + - Нужны примеры + - Совместимость +translation_of: Web/API/Window/crypto +--- +

{{APIRef}}

+ +

{{domxref("Window.crypto")}} дает доступ к интерфейсу {{domxref("Crypto")}}. Этот интерфейс предоставляет веб-странице доступ к встроенным в браузер возможностям криптографии.

+ +

Синтаксис

+ +
var cryptoObj = window.crypto || window.msCrypto; // для IE 11
+
+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('Web Crypto API')}}{{Spec2('Web Crypto API')}}Стабильное API
+ +

Реализация в браузерах

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
ФунционалChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовый{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}11 {{ property_prefix("-ms") }}15{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовый{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

См. так же:

+ + diff --git a/files/ru/web/api/window/deviceorientation_event/index.html b/files/ru/web/api/window/deviceorientation_event/index.html new file mode 100644 index 0000000000..0d264588d7 --- /dev/null +++ b/files/ru/web/api/window/deviceorientation_event/index.html @@ -0,0 +1,171 @@ +--- +title: deviceorientation +slug: Web/API/Window/deviceorientation_event +tags: + - Имитация смены положения + - Определение ориентации + - Ориентация + - Сенсоры +translation_of: Web/API/Window/deviceorientation_event +--- +

Событие deviceorientation срабатывает, когда с сенсоров ориентации поступают новые данные о текущем положении устройства внутри Земной системы координат. Эти данные собираются с помощью мангитометра устройства. Более детальное объяснение дано в Ориентация и объяснение данных движения.

+ +

Общая информация

+ +
+
Спецификация
+
Событие DeviceOrientation
+
Определение
+
DeviceOrientationEvent
+
Всплывает
+
Нет
+
Отменяемо
+
Нет
+
Целевой элемент
+
По умолчанию (window)
+
Действие по умолчанию 
+
 
+
Нет
+
+ +

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
target {{readonlyInline}}{{domxref("EventTarget")}}The event target (the topmost target in the DOM tree).
type {{readonlyInline}}{{domxref("DOMString")}}The type of event.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Whether the event normally bubbles or not
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Whether the event is cancellable or not?
alpha {{readonlyInline}}double (float)The current orientation of the device around the Z axis; that is, how far the device is rotated around a line perpendicular to the device.
beta {{readonlyInline}}double (float)The current orientation of the device around the X axis; that is, how far the device is tipped forward or backward.
gamma {{readonlyInline}}double (float)The current orientation of the device around the Y axis; that is, how far the device is turned left or right.
absolute {{readonlyInline}}{{jsxref("boolean")}}This value is true if the orientation is provided as a difference between the device coordinate frame and the Earth coordinate frame; if the device can't detect the Earth coordinate frame, this value is false.
+ +

Пример

+ +
if (window.DeviceOrientationEvent) {
+    window.addEventListener("deviceorientation", function(event) {
+        // alpha: rotation around z-axis
+        var rotateDegrees = event.alpha;
+        // gamma: left to right
+        var leftToRight = event.gamma;
+        // beta: front back motion
+        var frontToBack = event.beta;
+
+        handleOrientationEvent(frontToBack, leftToRight, rotateDegrees);
+    }, true);
+}
+
+var handleOrientationEvent = function(frontToBack, leftToRight, rotateDegrees) {
+    // Сделайте что-нибудь необычное здесь
+};
+
+ +

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

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
СвойствоChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка7.03.6[1]{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + +
СвойствоAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка3.03.6[1]{{CompatNo}}124.2
+
+ +

[1] Firefox 3.6, 4, и 5 поддерживают mozOrientation вместо стандартного события DeviceOrientation.

+ +

Похожие события

+ + + +

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

+ + diff --git a/files/ru/web/api/window/devicepixelratio/index.html b/files/ru/web/api/window/devicepixelratio/index.html new file mode 100644 index 0000000000..e5df4bef29 --- /dev/null +++ b/files/ru/web/api/window/devicepixelratio/index.html @@ -0,0 +1,46 @@ +--- +title: Window.devicePixelRatio +slug: Web/API/Window/devicePixelRatio +translation_of: Web/API/Window/devicePixelRatio +--- +

{{APIRef}}

+ +

Сводка

+ +

devicePixelRatio - свойство глобального объекта window (доступно только для чтения). Оно содержит отношение разрешения дисплея текущего устройства в физических пикселях к разрешению в логических (CSS) пикселях. Также это значение можно интерпретировать как отношение размера одного физического пикселя к размеру одного логического (CSS) пикселя.

+ +

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

+ +

Синтаксис

+ +
value = window.devicePixelRatio;
+
+ +

Полифилл

+ +

Свойство не поддерживается в IE ниже 11, однако в IE10 можно получить значение в виде отношения:

+ +
window.screen.deviceXDPI / window.screen.logicalXDPI
+ +

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

+ + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName("CSSOM View", "#dom-window-devicepixelratio", "Window.devicePixelRatio")}}{{Spec2("CSSOM View")}}Initial definition
+ +

Поддержка браузерами

+ +

{{Compat("api.Window.devicePixelRatio")}}

diff --git a/files/ru/web/api/window/document/index.html b/files/ru/web/api/window/document/index.html new file mode 100644 index 0000000000..088c178f20 --- /dev/null +++ b/files/ru/web/api/window/document/index.html @@ -0,0 +1,63 @@ +--- +title: Window.document +slug: Web/API/Window/document +translation_of: Web/API/Window/document +--- +
{{APIRef}}
+ +

Описание

+ +

window.document возвращает ссылку на документ, содержащийся в окне.

+ +
Note: {{Fx_minversion_inline(3)}} Firefox 3 вносит изменения в правила безопасности для windows' документов, чтобы только домен, на котором они расположены, имел доступ к документам. И хотя это может сломать некоторые существующие сайты, Firefox 3 и Internet Explorer 7 сделали этот шаг, что приводит к улучшению безопасности.
+ +

Синтaксис

+ +
doc = window.document
+
+ +

Параметры

+ + + +

Пример

+ +
<!DOCTYPE html>
+<html>
+<head>
+   <title>Hello, World!</title>
+</head>
+<body>
+
+<script type="text/javascript">
+   var doc = window.document;
+   console.log(doc.title); // Hello, World!
+</script>
+
+</body>
+</html>
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG', '#dom-document-2', 'Window.document')}}{{Spec2('HTML WHATWG')}}
{{SpecName('HTML5 W3C', 'browsers.html#dom-document-0', 'Window.document')}}{{Spec2('HTML5 W3C')}}
diff --git a/files/ru/web/api/window/frameelement/index.html b/files/ru/web/api/window/frameelement/index.html new file mode 100644 index 0000000000..bd901523fb --- /dev/null +++ b/files/ru/web/api/window/frameelement/index.html @@ -0,0 +1,95 @@ +--- +title: Window.frameElement +slug: Web/API/Window/frameElement +translation_of: Web/API/Window/frameElement +--- +
{{ ApiRef() }}
+ +
 
+ +

Сводка

+ +

Возвращает элемент (например <iframe> или <object>), в который встроено окно, или  null, если это окно верхнего уровня.

+ +

Синтаксис

+ +
frameEl = window.frameElement;
+
+ + + +

Пример

+ +
var frameEl = window.frameElement;
+// Если мы внутри фрейма, то изменить его URL на 'http://mozilla.org/'
+if (frameEl) {
+  frameEl.src = 'http://mozilla.org/';
+}
+
+ +

Примечания

+ +

Заметьте, что несмотря на свое имя, свойство также работает для документов внутри <object> и других встраиваемых элементов.

+ +

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

+ +

WHATWG

+ +

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

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support4?{{CompatGeckoDesktop("1")}}5.5?12.1?4?
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}{{CompatGeckoDesktop("1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

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

+ + diff --git a/files/ru/web/api/window/frames/index.html b/files/ru/web/api/window/frames/index.html new file mode 100644 index 0000000000..271af17e78 --- /dev/null +++ b/files/ru/web/api/window/frames/index.html @@ -0,0 +1,57 @@ +--- +title: Window.frames +slug: Web/API/Window/frames +translation_of: Web/API/Window/frames +--- +

{{APIRef("DOM")}}

+ +

Возвращает само окно, являющееся объектом в виде массива, распечатывая элементы текущего окна.

+ +

Syntax

+ +
frameList = window.frames;
+
+ + + +

Example

+ +
var frames = window.frames; // or // var frames = window.parent.frames;
+for (var i = 0; i < frames.length; i++) {
+  // do something with each subframe as frames[i]
+  frames[i].document.body.style.background = "red";
+}
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName("HTML WHATWG", "browsers.html#dom-frames", "Window.frames")}}{{Spec2("HTML WHATWG")}} 
{{SpecName("HTML5 W3C", "browsers.html#dom-frames", "Window.frames")}}{{Spec2("HTML5 W3C")}} 
+ +

Browser compatibility

+ + + +

{{Compat("api.Window.frames")}}

diff --git a/files/ru/web/api/window/gamepadconnected_event/index.html b/files/ru/web/api/window/gamepadconnected_event/index.html new file mode 100644 index 0000000000..b6911211a9 --- /dev/null +++ b/files/ru/web/api/window/gamepadconnected_event/index.html @@ -0,0 +1,85 @@ +--- +title: gamepadconnected +slug: Web/API/Window/gamepadconnected_event +translation_of: Web/API/Window/gamepadconnected_event +--- +

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

+ +

Основная информация

+ +
+
Спецификация
+
Gamepad
+
Интерфейс
+
Event
+
Всплывающее
+
Нет
+
Отменяемое
+
Нет
+
Цель
+
DefaultView (<window>)
+
Действие по умолчанию
+
Отсутствует
+
+ +

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СвойствоТипОписание
target {{readonlyInline}}{{domxref("EventTarget")}}Цель события (самый верхний элемент DOM дерева).
type {{readonlyInline}}{{domxref("DOMString")}}Тип события.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Является ли событие всплывающим.
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Является ли событие отменяемым.
gamepad {{readonlyInline}}{{domxref("Gamepad")}}Единственный атрибут, предоставляющий доступ к данным геймпада для этого события.
+ +

Пример

+ +
// Обратите внимание, что API всё ещё использует вендорные префиксы в браузерах, которые его реализуют
+window.addEventListener("gamepadconnected", function( event ) {
+
+    // Все значения кнопок и стиков доступны через:
+    event.gamepad;
+
+});
+
+ +

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

+ + + +

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

+ + diff --git a/files/ru/web/api/window/gamepaddisconnected_event/index.html b/files/ru/web/api/window/gamepaddisconnected_event/index.html new file mode 100644 index 0000000000..f0aac41e38 --- /dev/null +++ b/files/ru/web/api/window/gamepaddisconnected_event/index.html @@ -0,0 +1,74 @@ +--- +title: gamepaddisconnected +slug: Web/API/Window/gamepaddisconnected_event +translation_of: Web/API/Window/gamepaddisconnected_event +--- +

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

+ +

Основная информация

+ +
+
Спецификация
+
Gamepad
+
Интерфейс
+
Event
+
Всплывающее
+
Нет
+
Отменяемое
+
Нет
+
Цель
+
DefaultView (<window>)
+
Действие по умолчанию
+
Отсутствует
+
+ +

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СвойствоТипОписание
target {{readonlyInline}}{{domxref("EventTarget")}}Цель события (самый верхний элемент DOM дерева).
type {{readonlyInline}}{{domxref("DOMString")}}Тип события.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Является ли событие всплывающим.
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Является ли событие отменяемым.
gamepad {{readonlyInline}}{{domxref("Gamepad")}}Единственный атрибут, предоставляющий доступ к данным геймпада для этого события.
+ +

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

+ + + +

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

+ + diff --git a/files/ru/web/api/window/getcomputedstyle/index.html b/files/ru/web/api/window/getcomputedstyle/index.html new file mode 100644 index 0000000000..fb8239d55e --- /dev/null +++ b/files/ru/web/api/window/getcomputedstyle/index.html @@ -0,0 +1,198 @@ +--- +title: window.getComputedStyle() +slug: Web/API/Window/getComputedStyle +translation_of: Web/API/Window/getComputedStyle +--- +

Метод Window.getComputedStyle() возвращает объект, содержащий значения всех CSS-свойств элемента, полученных после применения всех активных таблиц стилей, и завершения базовых вычислений значений, которые они могут содержать. Некоторые CSS-свойства доступны через API, предоставляемые объектом, или индексацию по именам CSS-свойств.

+ +

Синтаксис

+ +
var style = window.getComputedStyle(element [, pseudoElt]);
+
+ +
+
element
+
{{domxref("Element")}}, свойства которого необходимо получить.
+
pseudoElt {{optional_inline}}
+
Строка указывающая на найденный псевдо-элемент. Опускается (или null) для не псевдо-элементов.
+
+ +

Возвращенный style живой {{domxref("CSSStyleDeclaration")}} обьект, который обновляется автоматически когда элемент стилей изменяется.

+ +

Выводы

+ +

Метод Window.getComputedStyle() предоставляет все значения CSS свойств элементов после применения текущей таблицы стилей или базового расчета каких-либо значений, которые могут быть.

+ +

Пример

+ +
var elem1 = document.getElementById("elemId");
+var style = window.getComputedStyle(elem1, null);
+
+// this is equivalent:
+// var style = document.defaultView.getComputedStyle(elem1, null);
+
+ +
<style>
+ #elem-container{
+   position: absolute;
+   left:     100px;
+   top:      200px;
+   height:   100px;
+ }
+</style>
+
+<div id="elem-container">dummy</div>
+<div id="output"></div>
+
+<script>
+  function getTheStyle(){
+    var elem = document.getElementById("elem-container");
+    var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("height");
+    document.getElementById("output").innerHTML = theCSSprop;
+   }
+  getTheStyle();
+</script>
+
+ +
function dumpComputedStyles(elem,prop) {
+
+  var cs = window.getComputedStyle(elem,null);
+  if (prop) {
+    console.log(prop+" : "+cs.getPropertyValue(prop));
+    return;
+  }
+  var len = cs.length;
+  for (var i=0;i<len;i++) {
+
+    var style = cs[i];
+    console.log(style+" : "+cs.getPropertyValue(style));
+  }
+
+}
+
+ +

Описание

+ +

Возвращенный обьект - это такой же обьект, который возвращается из свойства элемента {{domxref("HTMLElement.style", "style")}}; Так или иначе, эти два обьекта имеют разные назначения. Обьект который возвращается из getComputedStyle только для чтения и может быть использован для инспектирования стиля элемента (включая описание из <style> элемента или внешней таблицы стилей). Обьект element.style следует использовать для установки стилей на специфических элементах.

+ +

Первый аргумент должен быть элементом (вставка узлов которые не являются элементами, например #text выдаст ошибку).

+ +

defaultView

+ +

Во многих примерах кода, getComputedStyle используется из обьекта document.defaultView. Почти во всех случаях это не нужно, поскольку getComputedStyle существует в обьетке window. Это что-то на подобии шаблона defaultView который был нейкой прослойкой. Люди не хотели писать спецификацию для window и создавали API  которое также могло использоваться для Java. Так или иначе есть только один случай когда метод defaultView должен использоваться: когда вы используете Firefox 3.6 чтобы получить доступ к вычесленным стилям.

+ +

Использования с псевдо-элементами

+ +

getComputedStyle может получить информацию о стилях из псевдо-элемента (например - ::after, ::before, ::marker, ::line-marker - спецификация).

+ +
<style>
+ h3::after {
+   content: 'rocks!';
+ }
+</style>
+
+<h3>generated content</h3>
+
+<script>
+  var h3 = document.querySelector('h3');
+  var result = getComputedStyle(h3, ':after').content;
+
+  console.log('the generated content is: ', result); // возвратит 'rocks!'
+</script>
+
+ +

Notes

+ +

The values returned by getComputedStyle are known as {{cssxref("resolved_value", "resolved values")}}. These are usually the same as the CSS 2.1 {{cssxref("computed_value","computed values")}}, but for some older properties like width, height or padding, they are instead the {{cssxref("used_value","used values")}}. Originally, CSS 2.0 defined the computed values to be the "ready to be used" final values of properties after cascading and inheritance, but CSS 2.1 redefined computed values as pre-layout, and used values as post-layout. For CSS 2.0 properties, the getComputedStyle function returns the old meaning of computed values, now called used values. An example of difference between pre- and post-layout values includes the resolution of percentages that represent the width or the height of an element (also known as its layout), as those will be replaced by their pixel equivalent only in the used value case.

+ +

The returned value is, in certain known cases, expressly inaccurate by deliberate intent. In particular, to avoid the so called CSS History Leak security issue, browsers may expressly "lie" about the used value for a link and always return values as if a user has never visited the linked site. See http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history-leak/ and http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ for details of the examples of how this is implemented. Most other modern browsers have applied similar changes to the application of pseudo-selector styles and the values returned by getComputedStyle.

+ +

During a CSS transition, getComputedStyle returns the original property value in Firefox, but the final property value in WebKit.

+ +

In Firefox, properties with the value auto return the used value, not the value auto. So if you apply top:auto; and bottom:0; on an element with height:30px and its containing block is height:100px;, upon requesting the computed style for top, Firefox will return top:70px, as 100px-30px=70px.

+ +

Браузерная поддержка

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}9{{CompatVersionUnknown}}{{CompatVersionUnknown}}
pseudo-element support{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}915{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}WP7 Mango{{CompatVersionUnknown}}{{CompatVersionUnknown}}
pseudo-element support{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Спецификаци

+ + + +

Смотреть также

+ + diff --git a/files/ru/web/api/window/getselection/index.html b/files/ru/web/api/window/getselection/index.html new file mode 100644 index 0000000000..c3a4b16ab1 --- /dev/null +++ b/files/ru/web/api/window/getselection/index.html @@ -0,0 +1,142 @@ +--- +title: Window.getSelection() +slug: Web/API/Window/getSelection +translation_of: Web/API/Window/getSelection +--- +
{{ ApiRef() }}
+ +

Коротко

+ +

Метод возвращает объект {{domxref("Selection")}}, представленный в виде диапазона текста, который пользователь выделил на странице.

+ +

Синтаксис

+ +
selection = window.getSelection();
+ +

Значение

+ +

Объект {{domxref("Selection")}}.

+ +

При добавлении в параметр пустую строку или вспользовавшись методом {{jsxref("Selection.toString()")}} вам вернут строку, которую выделил пользователь.

+ +

Пример

+ +
function foo() {
+    var selObj = window.getSelection();
+    alert(selObj);
+    var selRange = selObj.getRangeAt(0);
+    // вернет диапазон Range
+}
+ +

Заметки

+ +

String representation of the Selection object

+ +

В JavaScript при попытке передать в функцию, принимающую строку (как на пример {{ Domxref("window.alert()") }} или же {{ Domxref("document.write()") }}), функция попробует сделать из любого параметра строку, даже если этот параметр явлется объектом, функцией со своими методами и свойствами.

+ +

В приведенном выше примере selObj.toString() автоматически задействуется, когда мы передаем в {{domxref("window.alert()")}} переменную selObj как параметр, который должен быть строкой. Однако мы не можем использовать свойства и метода объекта String, как на пример : length, substr. В следствии чего, вам необходимо будет применить вручную метод   toString(), как тут:

+ +
var selectedText = selObj.toString();
+ + + +

Родственные объекты

+ +

Вы так же можете использовать такой способ вызова {{domxref("Document.getSelection()")}}, который работает идентично {{domxref("Window.getSelection()")}}.

+ +

Поля ввода HTML (inputs) предоставляют более удобный API для работы с выделенным текстом (смотрите {{domxref("HTMLInputElement.setSelectionRange()")}}).

+ +

На заметку, разница между selection и focus. {{domxref("Document.activeElement")}}  - это то, что вернется элемент, который выделен (focused) .

+ +

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

+ + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName("Selection API", "#extensions-to-window-interface", "Window.getSelection()")}}{{Spec2("Selection API")}}Новая специф.
{{SpecName("HTML Editing", "#dom-window-getselection", "Window.getSelection()")}}{{Spec2("HTML Editing")}}Начальное определение
+ +

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

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
ОсобенностьChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{ CompatVersionUnknown() }}{{CompatVersionUnknown}}{{ CompatVersionUnknown() }}9{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{ CompatUnknown() }}{{CompatVersionUnknown}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+ +

+ +

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

+ + diff --git a/files/ru/web/api/window/hashchange_event/index.html b/files/ru/web/api/window/hashchange_event/index.html new file mode 100644 index 0000000000..84087f124c --- /dev/null +++ b/files/ru/web/api/window/hashchange_event/index.html @@ -0,0 +1,159 @@ +--- +title: hashchange +slug: Web/API/Window/hashchange_event +translation_of: Web/API/Window/hashchange_event +--- +

Событие hashchange генерируется когда изменяется идентификатор фрагмента URL (т.е. часть URL следующая за символом #, включая сам символ #).

+ +

Общая информация

+ +
+
Спецификация
+
HTML5
+
Интерфейс
+
HashChangeEvent
+
Bubbles
+
Yes
+
Cancelable
+
No
+
Target
+
defaultView
+
Действие по умолчанию
+
None
+
+ +

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
target {{readonlyInline}}{{domxref("EventTarget")}}The browsing context (window).
type {{readonlyInline}}{{domxref("DOMString")}}The type of event.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Whether the event normally bubbles or not.
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Whether the event is cancellable or not.
oldURL {{readonlyInline}}{{jsxref("String")}}The previous URL from which the window was navigated.
newURL {{readonlyInline}}{{jsxref("String")}} 
+ +

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

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support5.0{{ CompatGeckoDesktop("1.9.2") }}
+ Support for the oldURL/newURL attributes added in Firefox 6.
8.0
+ oldURL/newURL attributes are not supported.
10.65.0
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support2.2{{ CompatGeckoMobile("1.9.2") }}9.011.05.0
+
+ +


+ There are several fallback scripts listed on this page. Basically those scripts check the location.hash at a regular interval. Here is a version that allows only one handler to be bound to the window.onhashchange property:

+ +
(function(window) {
+
+  // exit if the browser implements that event
+  if ( "onhashchange" in window.document.body ) { return; }
+
+  var location = window.location,
+    oldURL = location.href,
+    oldHash = location.hash;
+
+  // check the location hash on a 100ms interval
+  setInterval(function() {
+    var newURL = location.href,
+      newHash = location.hash;
+
+    // if the hash has changed and a handler has been bound...
+    if ( newHash != oldHash && typeof window.onhashchange === "function" ) {
+      // execute the handler
+      window.onhashchange({
+        type: "hashchange",
+        oldURL: oldURL,
+        newURL: newURL
+      });
+
+      oldURL = newURL;
+      oldHash = newHash;
+    }
+  }, 100);
+
+})(window);
+
+ +

Похожие события

+ + diff --git a/files/ru/web/api/window/history/index.html b/files/ru/web/api/window/history/index.html new file mode 100644 index 0000000000..982be2ef7e --- /dev/null +++ b/files/ru/web/api/window/history/index.html @@ -0,0 +1,51 @@ +--- +title: Window.history +slug: Web/API/Window/history +translation_of: Web/API/Window/history +--- +

{{ APIRef }}

+ +

Window.history является свойством только для чтения, ссылающимся на объект {{domxref("History")}}, который предоставляет интерфейс для манипулирования историей сессии браузера (страницы, посещенные в текущей вкладке или фрейме, который был загружен на текущей странице).

+ +

Смотрите Управление историей браузера для примеров и подробностей. В частности, та статья объясняет особенности безопасности методов pushState() и replaceState(), о которых вы должны быть в курсе перед их использованием.

+ +

Синтаксис

+ +
var historyObj = window.history;
+
+ +

Пример

+ +
history.back();     // эквивалент клика по кнопке назад
+history.go(-1);     // эквивалент history.back();
+
+ +

Замечания

+ +

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

+ +

По причинам безопасности объект History не позволяет непривелигерованному коду получать доступ к URL других страниц, но позволяет осуществлять навигацию по истории сессии.

+ +

Не существует способа очистить историю сессии или выключить навигацию посредствам кнопок "назад"/"вперед" из непривелигерованного кода. Наиболее близкое решение использовать метод location.replace(), который заменяет текущий пункт в истории сессии на предоставленный URL.

+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('HTML WHATWG', 'browsers.html#the-history-interface', 'The History interface')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C', 'browsers.html#the-history-interface', 'The History interface')}}{{Spec2('HTML5 W3C')}} 
diff --git a/files/ru/web/api/window/index.html b/files/ru/web/api/window/index.html new file mode 100644 index 0000000000..d70c6e1a44 --- /dev/null +++ b/files/ru/web/api/window/index.html @@ -0,0 +1,457 @@ +--- +title: Window +slug: Web/API/Window +translation_of: Web/API/Window +--- +

{{APIRef}}

+ +

Объект window представляет собой окно, содержащее DOM документ; свойство document указывает на DOM document, загруженный в данном окне. Окно текущего документа может быть получено с помощью свойства {{Domxref("document.defaultView")}}.

+ +

Данный раздел содержит описание всех методов, свойств и событий, доступных через объект window DOM. Объект window реализует интерфейс Window, который наследуется от интерфейса AbstractView. Некоторые дополнительные глобальные функции, пространства имен объектов, интерфейсы и конструкторы, как правило, не связаные с окном, но доступные в нем, перечислены в JavaScript ссылки и DOM ссылки.

+ +

В браузерах, поддерживающих вкладки, таком как Firefox, каждая вкладка содержит свой собственный объект window (и если вы пишете расширение, окно браузера тоже является отдельным объектом window - см. Работа с окнами в chrome коде). Таким образом, объект window не разделяется между разными вкладками в одном и том же окне. Некоторые методы,  а именно {{Domxref("window.resizeTo")}} и {{Domxref("window.resizeBy")}} применяеются для всего окна и не принадлежат объекту window отдельной вкладки. Как правило, если что-то логически нельзя отнести ко вкладке, это относят к окну.

+ +

Свойства

+ +

Данный интерфейс наследует свойства из интерфейса {{domxref("EventTarget")}} и реализует свойства из {{domxref("WindowOrWorkerGlobalScope")}} и миксин {{domxref("WindowEventHandlers")}}.

+ +

Отметим, что свойства, являющиеся объектами (например, перезаписанные прототипы встроенных элементов), перечислены в отдельном разделе ниже.

+ +
+
{{domxref("Window.applicationCache")}} {{readOnlyInline}} {{gecko_minversion_inline("1.9")}}
+
Объект {{domxref("OfflineResourceList")}}, обеспечивающий для окна доступ к ресурсам вне сети.
+
{{domxref("Window.closed")}} {{Non-standard_inline}}{{readOnlyInline}}
+
Свойство, указывающее было ли текущее окно закрыто или нет.
+
{{domxref("Window.Components")}} {{Non-standard_inline}}
+
Точка доступа к богатому функционалу XPCOM. Некоторые свойства, т.к. classes, доступны только для достаточно привелегированного кода. Web-код не должен использовать эти свойства.
+
{{domxref("console","Window.console")}} {{Non-standard_inline}} {{ReadOnlyInline}}
+
Возвращает ссылку на объект консоли, обеспечивающего доступ к консоли браузера.
+
{{domxref("Window.content")}} and Window._content {{Non-standard_inline}} {{obsolete_inline}}{{ReadOnlyInline}}
+
Возвращает ссылку на элемент содержимого в текущем окне. Устаревший вариант в нижним подчеркиванием более не доступен для Web-содержимого.
+
{{domxref("Window.controllers")}}{{non-standard_inline}}{{ReadOnlyInline}}
+
Возвращает XUL контроллер объектов для текущего окна chrome.
+
{{domxref("Window.crypto")}} {{readOnlyInline}}
+
Возвращает зашифрованный объект браузера.
+
{{domxref("Window.defaultStatus")}} {{Obsolete_inline("gecko23")}}
+
Получает/устанавливает текст статус-бара для данного окна.
+
{{domxref("Window.devicePixelRatio")}} {{non-standard_inline}}{{ReadOnlyInline}}
+
Возвращает соотношение между физическими пикселями и пикселями на дисплее текущего устройства.
+
{{domxref("Window.dialogArguments")}} {{Fx_minversion_inline(3)}} {{ReadOnlyInline}}
+
Получает аргументы, переданные в окно (если это диалоговое окно) в момент вызова {{domxref("window.showModalDialog()")}}. Это {{Interface("nsIArray")}}.
+
{{domxref("Window.directories")}} {{obsolete_inline}}
+
Синоним {{domxref("window.personalbar")}}
+
{{domxref("Window.document")}} {{ReadOnlyInline}}
+
Возвращает ссылку на содержащийся в окне документ.
+
{{domxref("Window.frameElement")}} {{readOnlyInline}}
+
Возвращает элемент, в который встроено окно, или null, если оно не встроено.
+
{{domxref("Window.frames")}} {{readOnlyInline}}
+
Возвращает массив дополнительных фреймов в текущем окне.
+
{{domxref("Window.fullScreen")}} {{gecko_minversion_inline("1.9")}}
+
Это свойство указывает, отображается ли окно в полноэкранном режиме или нет.
+
{{domxref("Window.globalStorage")}} {{gecko_minversion_inline("1.8.1")}} {{Non-standard_inline}} {{Obsolete_inline("gecko13")}}
+
Не поддерживает с Gecko 13 (Firefox 13). Использовать вместо него{{domxref("Window.localStorage")}}. Было: Множественные объекты хранения, которые используются для хранения данных на нескольких страницах.
+
{{domxref("Window.history")}} {{ReadOnlyInline}}
+
Возвращает ссылку на объект истории.
+
{{domxref("Window.innerHeight")}}
+
Получает высоту области содержимого окна браузера, включая, если есть, горизонтальный скроллбар.
+
{{domxref("window.innerWidth")}}
+
Получает ширину области содержимого окна браузера, включая, если есть, вертикальный скроллбар.
+
{{domxref("Window.isSecureContext")}} {{readOnlyInline}}
+
Указывает, способен ли контекст использовать функционал, требующий безопасного контекста.
+
{{domxref("Window.length")}} {{readOnlyInline}}
+
Возвращает число фреймов в окне. Смотри так же {{domxref("window.frames")}}.
+
{{domxref("Window.location")}} {{ReadOnlyInline}}
+
Получает/устанавливает расположение или текущий URL для текущего объекта окна.
+
{{domxref("Window.locationbar")}} {{ReadOnlyInline}}
+
Возвращает объект locationbar, который может быть добавлен и убран из окна.
+
{{domxref("Window.localStorage")}} {{readOnlyInline}}{{gecko_minversion_inline("1.9.1")}}
+
Возвращает ссылку на локальный объект хранилища, используемый для хранения данных, которые могут быть доступны только первоисточникам, создавшим их.
+
{{domxref("Window.menubar")}} {{ReadOnlyInline}}
+
Возвращает объект menubar, который может быть добавлен и убран из окна.
+
{{domxref("Window.messageManager")}} {{gecko_minversion_inline("2.0")}}
+
Возвращает объект message manager для окна.
+
{{domxref("Window.mozAnimationStartTime")}} {{ReadOnlyInline}}{{gecko_minversion_inline("2.0")}}
+
Время в миллисекундах с момента начала цикла данной анимации.
+
{{domxref("Window.mozInnerScreenX")}} {{ReadOnlyInline}}{{non-standard_inline}}{{gecko_minversion_inline("1.9.2")}}
+
Возвращает горизонтальную (X) координату верхнего левого угла окна просмотра в экранных координатах. Значение возвращается в CSS-пикселях. Смотри mozScreenPixelsPerCSSPixel в {{interface("nsIDOMWindowUtils")}} для конвертирования и адаптирования к экранным пикселям, если необходимо.
+
{{domxref("Window.mozInnerScreenY")}} {{ReadOnlyInline}} {{non-standard_inline}}{{gecko_minversion_inline("1.9.2")}}
+
Возвращает вертикальные (Y) координаты верхнего левого угла окна просмотра в экранных координатах. Значение возвращается в CSS-пикселях. Смотри mozScreenPixelsPerCSSPixel для конвертирования и адаптирования к экранным пикселям, если необходимо.
+
{{domxref("Window.mozPaintCount")}} {{non-standard_inline}}{{ReadOnlyInline}} {{gecko_minversion_inline("2.0")}}
+
Возвращает количество раз, за которые текущий документ был отрендерен для текущего экрана в этом окне. Может быть использовано для подсчета скорости преобразования.
+
{{domxref("Window.name")}}
+
Получает/устанавливает имя для окна.
+
{{domxref("Window.navigator")}} {{readOnlyInline}}
+
Возвращает ссылку на объект навигатора.
+
{{domxref("Window.opener")}}
+
Возвращает ссылку на окно, открывшее текущее окно.
+
{{domxref("Window.orientation")}}{{non-standard_inline}}{{deprecated_inline}}{{readOnlyInline}}
+
Возвращает ориентировку в градусах (с увеличением на 90 градусов) окна просмотра относительно настоящей ориентировки устройства.
+
{{domxref("Window.outerHeight")}} {{readOnlyInline}}
+
Получает высоту вместе с внешней частью браузерного окна.
+
{{domxref("Window.outerWidth")}} {{readOnlyInline}}
+
Получает ширину вместе с внешней частью браузерного окна.
+
{{domxref("Window.scrollX","Window.pageXOffset")}} {{readOnlyInline}}
+
Псевдоним для {{domxref("window.scrollX")}}.
+
{{domxref("Window.scrollY","Window.pageYOffset")}}{{readOnlyInline}}
+
Псевдоним для {{domxref("window.scrollY")}}
+
{{domxref("Window.sessionStorage")}} {{readOnlyInline}}
+
Возвращает ссылку на объект хранения сессии, используемый для хранения данных, которые могут быть получены только источником, создавшим их.
+
{{domxref("Window.parent")}} {{readOnlyInline}}
+
Возвращает ссылку на родителя текущего окна или встроеного фрейма.
+
{{domxref("Window.performance")}} {{readOnlyInline}}
+
Обеспечивает главенствующее пространство для аттрибутов, относящихся к производительности.
+
{{domxref("Window.personalbar")}} {{readOnlyInline}}
+
Возвращает объект personalbar, который может быть добавлен и убран из окна.
+
{{domxref("Window.pkcs11")}} {{obsolete_inline(29)}}
+
Раньше предоставлял доступ к установке и удалению PKCS11 модуля.
+
{{domxref("Window.returnValue")}} {{Fx_minversion_inline(3)}}
+
Возвращаемое значение, которое будет передано в функцию, которая вызвала {{domxref("window.showModalDialog()")}} для отображения окна как модального диалога.
+
{{domxref("Window.screen")}} {{readOnlyInline}}
+
Возвращает ссылку на объект экрана, ассоциируемый с окном.
+
{{domxref("Window.screenX")}} {{readOnlyInline}}
+
Возвращает горизонтальный размер левой рамки браузера пользователя с левой стороны экрана.
+
{{domxref("Window.screenY")}} {{readOnlyInline}}
+
Возвращает вертикальный размер верхней рамки браузера пользователя с верхней стороны экрана.
+
{{domxref("Window.scrollbars")}} {{readOnlyInline}}
+
Возвращает объект scrollbars, который может быть добавлен и убран из окна.
+
{{domxref("Window.scrollMaxX")}}{{non-standard_inline}}{{ReadOnlyInline}}
+
Максимальный отступ, на который может быть проскроллено окно по горизонтали, состоящее из разницы ширины документа и ширины области просмотра.
+
{{domxref("Window.scrollMaxY")}}{{non-standard_inline}}{{ReadOnlyInline}}
+
Максимальный отступ, на который может быть проскроллено окно по вертикали, (т.е., разница высоты документа и высоты области просмотра).
+
{{domxref("Window.scrollX")}} {{readOnlyInline}}
+
Возвращает число пикселей, на которое документ уже был проскроллен по горизонтали.
+
{{domxref("Window.scrollY")}} {{readOnlyInline}}
+
Возвращает число пикселей, на которое документ уже был проскроллен по вертикали.
+
{{domxref("Window.self")}} {{ReadOnlyInline}}
+
Возвращает ссылку на самого себя.
+
{{domxref("Window.sessionStorage")}} {{Fx_minversion_inline("2.0")}}
+
Возвращает объект хранилища для данных в пределах сессии одной страницы.
+
{{domxref("Window.sidebar")}} {{non-standard_inline}}{{ReadOnlyInline}}
+
Возвращает ссылку на объект окна sidebar.
+
{{domxref("Window.speechSynthesis")}} {{ReadOnlyInline}}
+
Возвращает объект {{domxref("SpeechSynthesis")}}, который является точкой входа для использования Web Speech API, функционала для речевого синтеза.
+
{{domxref("Window.status")}}
+
Получает/устанавливает тект в statusbar внизу браузера.
+
{{domxref("Window.statusbar")}} {{readOnlyInline}}
+
Возвращает объект statusbar, который может быть добавлен и убран из окна.
+
{{domxref("Window.toolbar")}} {{readOnlyInline}}
+
Возвращает объект toolbar, который может быть добавлен и убран из окна.
+
{{domxref("Window.top")}} {{readOnlyInline}}
+
Возвращает ссылку на самое первое окно в иерархии текущих окон. Только для чтения.
+
{{domxref("Window.window")}} {{ReadOnlyInline}}
+
Возвращает ссылку на текущее окно.
+
window[0], window[1], etc.
+
Возвращает ссылку на объект окна во фреймах. Смотри {{domxref("Window.frames")}}.
+
+ +

Свойства,  реализованные из других мест

+ +
+
{{domxref("WindowOrWorkerGlobalScope.caches")}} {{readOnlyinline}}
+
Возвращает объект {{domxref("CacheStorage")}}, связанный с текущим контекстом. Этот объект добавляет такой функционал как хранение ресурсов для использования вне сети и генерирования встроенных ответов на запросы.
+
{{domxref("WindowOrWorkerGlobalScope.indexedDB")}} {{readonlyInline}}
+
Обеспечивает механизм для приложений для возможности асинхронного доступа индексированных баз данных; возвращает объект {{domxref("IDBFactory")}}.
+
{{domxref("WindowOrWorkerGlobalScope.isSecureContext")}} {{readOnlyinline}}
+
Возвращает булеановское занчение, указывающее является ли текущий контент безопасным (true) или нет (false).
+
{{domxref("WindowOrWorkerGlobalScope.origin")}} {{readOnlyinline}}
+
Возаращает источник глобального объекта, преобразованного в строку. (Это свойство пока еще не существует, поэтому не может быть использовано в браузерах.)
+
+ +

Методы

+ +

Этот интерфейс наследует методы от интерфейса {{domxref("EventTarget")}}  и реализует свойства {{domxref("WindowOrWorkerGlobalScope")}} и {{domxref("EventTarget")}}.

+ +
+
{{domxref("Window.alert()")}}
+
Отображает предупреждающее диалоговое окно.
+
{{domxref("Window.back()")}} {{Non-standard_inline}} {{obsolete_inline}}
+
Возвращается на один шаг назад в истории окна.
+
{{domxref("Window.blur()")}}
+
Убирает фокус с окна.
+
{{domxref("Window.cancelIdleCallback()")}} {{experimental_inline}}
+
Позволяет отменить функцию обратного вызова прежде чем определить расписание ее выозва с {{domxref("Window.requestIdleCallback")}}.
+
{{domxref("Window.captureEvents()")}} {{Deprecated_inline}}
+
Регестрирует окно, которое будет перехватывать все события опереденного типа.
+
{{domxref("Window.clearImmediate()")}}
+
Отменяет повторяющееся исполнение, установленное с помощью setImmediate.
+
{{domxref("WindowTimers.clearInterval()")}}
+
Отменяет повторяющееся исполнене, установленное с помощью {{domxref("WindowTimers.setInterval()")}}.
+
{{domxref("WindowTimers.clearTimeout()")}}
+
Отменяет повторяющееся исполнене, установленное с помощью {{domxref("WindowTimers.setTimeout()")}}.
+
{{domxref("Window.close()")}}
+
Закрывает текущее окно.
+
{{domxref("Window.confirm()")}}
+
Отображает диалог с сообщением, на которое пользователь должен ответить.
+
{{domxref("Window.disableExternalCapture()")}} {{obsolete_inline(24)}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.dispatchEvent()")}}
+
Используется для вызова события.
+
{{domxref("Window.dump()")}}
+
Отправляет сообщение в консоль.
+
{{domxref("Window.enableExternalCapture()")}} {{obsolete_inline(24)}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.find()")}}
+
Ищет необходимую строку в окне window.
+
{{domxref("Window.focus()")}}
+
Устанавливает фокус на текущем окне.
+
{{domxref("Window.forward()")}} {{Non-standard_inline}} {{obsolete_inline}}
+
Переходит на один документ вперед в текущей истории окна.
+
{{domxref("Window.getAttention()")}}
+
Заставляет мигать иконку приложения.
+
{{domxref("Window.getAttentionWithCycleCount()")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.getComputedStyle()")}}
+
Получает подсчитанные стили для определенного элемента. Подсичтанные стили включают подсчитанные занчения всех CSS свойств элемента.
+
{{domxref("Window.getDefaulComputedStyle()")}}
+
Получает подсчитанные стили по умолчанию для определенного элемента, игнорируя авторские стили.
+
{{domxref("Window.getSelection()")}}
+
Возвращает выбранный объект, представляющий выбранный элемент(ы).
+
{{domxref("Window.home()")}} {{Non-standard_inline}} {{obsolete_inline}}
+
Возаращает браузер на домашнюю страницу.
+
{{domxref("Window.matchMedia()")}} {{gecko_minversion_inline("6.0")}}
+
Возвращает объект {{domxref("MediaQueryList")}}, представляющий указанную строку медиа-запроса.
+
{{domxref("Window.maximize()")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.minimize()")}} (top-level XUL windows only)
+
Минимизирует окно.
+
{{domxref("Window.moveBy()")}}
+
Сдвигает текущее окно на определенное значение.
+
{{domxref("Window.moveTo()")}}
+
Сдвигает окно до определенных координат.
+
{{domxref("Window.mozRequestAnimationFrame()")}} {{gecko_minversion_inline("2.0")}}
+
Cообщает браузеру, что анимация находится в прогрессе, требуя, чтобы браузер определил время перерисовки окна для следующего анимационного фрейма. Это вызовет событие  MozBeforePaint, прежде чем произойдет перерисовка .
+
{{domxref("Window.open()")}}
+
Открывает новое окно.
+
{{domxref("Window.openDialog()")}}
+
Opens a new dialog window.
+
{{domxref("Window.postMessage()")}} {{Fx_minversion_inline(3)}}
+
Предоставляет безопасный способ для одного окна передать строку с данными в другое окно, которое должно находиться в пределах того же домена, что и первое.
+
{{domxref("Window.print()")}}
+
Открывет Print Dialog для распечатки текущего документа.
+
{{domxref("Window.prompt()")}}
+
Возвращает текст, введенный пользователем в диалоге подсказки.
+
{{domxref("Window.releaseEvents()")}} {{Deprecated_inline}}
+
Возвращает окно с захваченных событий определенного типа.
+
{{domxref("element.removeEventListener","Window.removeEventListener()")}}
+
Удаляет слушателя события из окна.
+
{{domxref("Window.requestIdleCallback()")}}  {{experimental_inline}}
+
Позволяет назначить раписание задачь во время периода простоя браузера.
+
{{domxref("Window.resizeBy()")}}
+
Меняет размер текущего окна на определенное число.
+
{{domxref("Window.resizeTo()")}}
+
Динамически меняет размер окна.
+
{{domxref("Window.restore()")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.routeEvent()")}} {{obsolete_inline(24)}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.scroll()")}}
+
Scrolls the window to a particular place in the document.
+
{{domxref("Window.scrollBy()")}}
+
Прокручивает документ в окна на данное число.
+
{{domxref("Window.scrollByLines()")}}
+
Прокурчивает документ на данное число строк.
+
{{domxref("Window.scrollByPages()")}}
+
Прокурчивает документ на данное число стараниц.
+
{{domxref("Window.scrollTo()")}}
+
Прокручивает до заданных координат в документе.
+
{{domxref("Window.setCursor()")}}
+
Меняет курсор для текущего окна.
+
{{domxref("Window.setImmediate()")}}
+
Исполняет функцию после того, как браузер некую тяжелую задачу.
+
{{domxref("WindowTimers.setInterval()")}}
+
Назначает выполнение функции каждые X миллисекунд.
+
{{domxref("Window.setResizable")}}
+
{{todo("NeedsContents")}}
+
{{domxref("WindowTimers.setTimeout()")}}
+
Устанавливает отложенное выполнение функции.
+
{{domxref("Window.showModalDialog()")}} {{Fx_minversion_inline(3)}}
+
Отображает модальный диалог.
+
{{domxref("Window.sizeToContent()")}}
+
Подгоняет размер окна под его содержимое.
+
{{domxref("Window.stop()")}}
+
Останавливает загрузку страницы.
+
{{domxref("Window.updateCommands()")}}
+
Обновляет состояние команд текущего окна chrome (UI).
+
+

Методы, реализованные из других мест

+
+
{{domxref("EventTarget.addEventListener()")}}
+
Регестрирует обработчики опреленного типа событий в окне.
+
{{domxref("WindowOrWorkerGlobalScope.atob()")}}
+
Декодирует строку данных, которая была закодирована, используя кодировку base-64.
+
{{domxref("WindowOrWorkerGlobalScope.btoa()")}}
+
Создаеь закодированную base-64 ASCII строку из строки бинарных данных.
+
{{domxref("WindowOrWorkerGlobalScope.clearInterval()")}}
+
Отменяет повторяющееся исполнение, установленного с помощью {{domxref("WindowOrWorkerGlobalScope.setInterval()")}}.
+
{{domxref("WindowOrWorkerGlobalScope.clearTimeout()")}}
+
Отменяет отложенное исполнение, установленного с   {{domxref("WindowOrWorkerGlobalScope.setTimeout()")}}.
+
{{domxref("WindowOrWorkerGlobalScope.createImageBitmap()")}}
+
Принимает множество различных изображений и возвращает {{domxref("Promise")}}, который возвращает {{domxref("ImageBitmap")}}. Опционально ресурс может быть обрезан до прямоугольника, заданного в пикселях (sx, sy) с шириной sw и высотой sh.
+
{{domxref("WindowOrWorkerGlobalScope.fetch()")}}
+
Начинает процесс загрузки ресурса из сети.
+
{{domxref("EventTarget.removeEventListener")}}
+
Удаляет слушателя события из окна.
+
{{domxref("WindowOrWorkerGlobalScope.setInterval()")}}
+
Устанавливает раписание для исполнения функции каждый раз через заданное число миллисекунд.
+
{{domxref("WindowOrWorkerGlobalScope.setTimeout()")}}
+
Устанавливает расписание для исполнения функции в назначенное время.
+
+ +

Обработчики событий

+ +

Это методы объекта window, которые могут устанавливаться для перехвата всех событий, которые могут происходить с объектом window.

+ +

Интерфейс наследует обработчики событий от {{domxref("EventTarget")}} интерфейса и реализует обработчики событий {{domxref("WindowEventHandlers")}}.

+ +
+

Замета: Начиная с {{Gecko("9.0")}}, вы можете использовать синтаксис if ("onabort" in window), чтобы определить существует ли обработчик данного события. Интерфейсы обработчиков событий были обновлеы таким образом, чтобы соответсовать web IDL интерфейсам. Смотри обработчики собыйти DOM для деталей.

+
+ +
+
{{domxref("GlobalEventHandlers.onabort")}}
+
Обработчик события для отмены событий в окне.
+
{{domxref("WindowEventHandlers.onafterprint")}}
+
Вызывается, когда закрывается диалоговое окно распечатки. Смотри событие {{event("afterprint")}}.
+
{{domxref("WindowEventHandlers.onbeforeprint")}}
+
Вызывается, когда открывается диалоговое окно распечатки. Смотри событие {{event("beforeprint")}}.
+
{{domxref("Window.onbeforeinstallprompt")}}
+
Событие вызывается прежде чем пользователь согласится сохранить сайт на домашний экран на мобильном устройстве.
+
{{domxref("WindowEventHandlers.onbeforeunload")}}
+
Событие вызывается перед удалением события из окна.
+
{{domxref("GlobalEventHandlers.onblur")}}
+
Свойство обработчика событий для исчезновение фокуса на окне.
+
{{domxref("GlobalEventHandlers.onchange")}}
+
Свойство обработчика событий для изменения в окне.
+
{{domxref("GlobalEventHandlers.onclick")}}
+
Свойство обработчика событий для клика в окне.
+
{{domxref("GlobalEventHandlers.ondblclick")}}
+
Вызывается, когда был сделан двойной клик ЛЮБОЙ кнопкой мыши.
+
{{domxref("GlobalEventHandlers.onclose")}}
+
Свойство обработчика событий для обработки закрытия окна.
+
{{domxref("GlobalEventHandlers.oncontextmenu")}}
+
Свойство обработчика событий для правого клика в окне.
+
{{domxref("Window.ondevicelight")}}
+
Свойство обработчика событий для отслеживания изменения уровня света.
+
{domxref("Window.ondevicemotion")}} {{gecko_minversion_inline("6.0")}}
+
Вызывается, если было определено изменение акселерометра (для мобильных устройств).
+
{{domxref("Window.ondeviceorientation")}} {{gecko_minversion_inline("6.0")}}
+
Вызывается, когда была изменена ориентация (для мобильных устройств).
+
{{domxref("Window.ondeviceorientation")}} {{gecko_minversion_inline("6.0")}}
+
Свойство обработчика событий для смены ориентации любого устройства.
+
{{domxref("Window.ondeviceproximity")}}
+
Свойство обработчика событий для определения близости устройства.
+
{{domxref("GlobalEventHandlers.onerror")}}
+
Свойство обработчика событий для события {{event("error")}}, возникшего в окне.
+
{{domxref("GlobalEventHandlers.onfocus")}}
+
Свойство обработчика событий для события {{event("focus")}} в окне.
+
{{domxref("WindowEventHandlers.onhashchange")}} {{gecko_minversion_inline("1.9.2")}}
+
Свойство обработчика событий для отлова изменения хэша в окне; вызывается, когда часть URL после ("#") была изменена.
+
{{domxref("Window.onappinstalled")}}
+
Вызывается, когда страница установлена, как приложение. Смотри {{event('appinstalled')}} событие.
+
{{domxref("Window.oninput")}}
+
Вызывается, когда значение элемента <input> было изменено.
+
{{domxref("GlobalEventHandlers.onkeydown")}}
+
Свойство обработчика событий для события {{event("keydown")}} в окне.
+
{{domxref("GlobalEventHandlers.onkeypress")}}
+
Свойство обработчика событий для события {{event("keypress")}} в окне.
+
{{domxref("GlobalEventHandlers.onkeyup")}}
+
Свойство обработчика событий для события {{event("keyup")}} в окне.
+
{{domxref("WindowEventHandlers.onlanguagechange")}}
+
Свойство обработчика событий для события {{event("languagechange")}} в окне.
+
{{domxref("GlobalEventHandlers.onload")}}
+
Свойство обработчика событий для загрузки окна.
+
{{domxref("WindowEventHandlers.onmessage")}}
+
{{domxref("EventHandler")}}, представляющий собой код, который будет вызван, когда произойдет событие {{event("message")}}.
+
{{domxref("GlobalEventHandlers.onmousedown")}}
+
Свойство обработчика событий для события mousedownв окне.
+
{{domxref("GlobalEventHandlers.onmousemove")}}
+
Свойство обработчика событий для события mousemove в окне.
+
{{domxref("GlobalEventHandlers.onmouseout")}}
+
Свойство обработчика событий для события mouseout в окне.
+
{{domxref("GlobalEventHandlers.onmouseover")}}
+
Свойство обработчика событий для события mouseover в окне.
+
{{domxref("GlobalEventHandlers.onmouseup")}}
+
Свойство обработчика событий для события mouseup в окне.
+
{{domxref("Window.onmozbeforepaint")}} {{gecko_minversion_inline("2.0")}}
+
Свойство обработчика событий для события MozBeforePaint, которое присылается прежде чем окно будет перерисовано, если событие необходимо из-за вызова метода {{domxref("Window.mozRequestAnimationFrame()")}}.
+
{{domxref("WindowEventHandlers.onoffline")}}
+
Вызывается, когда было потеряно соединение с сетью. Смотри событие {{event("offline")}}.
+
{{domxref("WindowEventHandlers.ononline")}}
+
Вызывается, когда соединение с сетью было установлено. Смотри событие {{event("online")}}.
+
{{domxref("WindowEventHandlers.onpageshow")}}
+
Свойство обработчика событий для события pageshow в окне.
+
{{domxref("WindowEventHandlers.onpagehide")}}
+
Свойство обработчика событий для события pagehide в окне.
+
{{domxref("Window.onpaint")}}
+
Свойство обработчика событий для события paint в окне.
+
{{domxref("WindowEventHandlers.onpopstate")}} {{gecko_minversion_inline("2.0")}}
+
Вызывается, когда была нажата кнопка назад.
+
{{domxref("Window.onrejectionhandled")}} {{experimental_inline}}
+
Свойство обработчика событий для обработки отказа события {{jsxref("Promise")}}.
+
{{domxref("GlobalEventHandlers.onreset")}}
+
Свойство обработчика событий для события reset в окне.
+
{{domxref("GlobalEventHandlers.onresize")}}
+
Свойство обработчика событий для изменения размера окна.
+
{{domxref("GlobalEventHandlers.onscroll")}}
+
Свойство обработчика событий для прокрутки окна.
+
{{domxref("GlobalEventHandlers.onwheel")}}
+
Вызывается, когда ыло прокручено колесико мыши в любую сторону.
+
{{domxref("GlobalEventHandlers.onselect")}}
+
Свойство обработчика событий для события выбора в окне.
+
{{domxref("GlobalEventHandlers.onselectionchange")}}
+
{{domxref("EventHandler")}}, представлющий собой код, который будет вызван, когда проихойдет событие {{event("selectionchange")}}.
+
{{domxref("GlobalEventHandlers.onsubmit")}}
+
Свойство обработчика событий для события submits в окне формы.
+
{{domxref("WindowEventHandlers.onunhandledrejection")}} {{experimental_inline}}
+
Свойство обработчика событий для отвязки обработчика отказа события {{jsxref("Promise")}}.
+
{{domxref("Window.onunload")}}
+
Свойство обработчика событий для события unload в окне.
+
{{domxref("Window.onuserproximity")}}
+
Свойство обработчика событий для события изменения близости пользоватя к устройству.
+
{{domxref("Window.onvrdisplayconnected")}} {{experimental_inline}}
+
Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности было присоединено к компьютеру (когда запускается событие {{event("vrdisplayconnected")}}).
+
{{domxref("Window.onvrdisplaydisconnected")}} {{experimental_inline}}
+
Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности было отсоединено от компьютера (когда запускается событие {{event("vrdisplaydisconnected")}}).
+
{{domxref("Window.onvrdisplaypresentchange")}} {{experimental_inline}}
+
Представляет обработчик события, который будет запущен, когда изменится состояние устройства виртуальной реальности — т.е. перейдет от  представленного к непредставленному или наоборот (когда будет запущено событие {{event("onvrdisplaypresentchange")}}).
+
+ +

Конструкторы

+ +

Смотри так же DOM Interfaces.

+ +
+
{{domxref("Window.ConstantSourceNode")}}
+
Создает экземпляр {{domxref("ConstantSourceNode")}}
+
+ +
+
{{domxref("Window.DOMParser")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.GeckoActiveXObject")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Image")}}
+
Создает {{domxref("HTMLImageElement")}}.
+
{{domxref("Option")}}
+
Создает {{domxref("HTMLOptionElement")}}
+
{{domxref("Window.QueryInterface")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.XMLSerializer")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Worker")}}
+
Используется для создания  Web worker
+
{{domxref("Window.XPCNativeWrapper")}}
+
{{todo("NeedsContents")}}
+
{{domxref("Window.XPCSafeJSObjectWrapper")}}
+
{{todo("NeedsContents")}}
+
+ +

Интерфейс

+ +

Смотри DOM Reference

+ +

Смотри так же

+ + diff --git a/files/ru/web/api/window/innerheight/index.html b/files/ru/web/api/window/innerheight/index.html new file mode 100644 index 0000000000..5207cf8536 --- /dev/null +++ b/files/ru/web/api/window/innerheight/index.html @@ -0,0 +1,88 @@ +--- +title: Window.innerHeight +slug: Web/API/Window/innerHeight +tags: + - API + - NeedsMarkupWork + - Property + - Reference +translation_of: Web/API/Window/innerHeight +--- +
Высота (в пикселях) области просмотра окна браузера, включая, если отображается, горизонтальную полосу прокрутки.
+ +

Синтаксис

+ +
var intViewportHeight = window.innerHeight;
+ +

Значение

+ +

По возвращению, intViewportHeight это высота области просмотра окна браузера.

+ +

Свойство window.innerHeight доступно только для чтения; у него нет значения по умолчанию.

+ +

Примечания

+ +

Свойство innerHeight поддерживается в любом объекте окна, например {{domxref ("window")}}, фрейме, наборе фреймов или вторичном окне.

+ +

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

+ +

Пример

+ +

Assuming a frameset

+ +
var intFrameHeight = window.innerHeight; // or
+
+var intFrameHeight = self.innerHeight;
+// вернет высоту окна просмотра кадра в наборе кадров
+
+var intFramesetHeight = parent.innerHeight;
+// will return the height of the viewport of the closest frameset
+
+var intOuterFramesetHeight = top.innerHeight;
+// will return the height of the viewport of the outermost frameset
+
+ +

{{todo("link to an interactive demo here")}}

+ +

To change the size of a window, see {{domxref("window.resizeBy()")}} and {{domxref("window.resizeTo()")}}.

+ +

To get the outer height of a window, i.e. the height of the whole browser window, see {{domxref("window.outerHeight")}}.

+ +

Графический пример

+ +

На следующем рисунке показана разница между externalHeight и innerHeight.

+ +

innerHeight vs outerHeight illustration

+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('CSSOM View', '#dom-window-innerheight', 'window.innerHeight')}}{{Spec2('CSSOM View')}}Начальное определение.
+ +

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

+ + + +

{{Compat("api.Window.innerHeight")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/length/index.html b/files/ru/web/api/window/length/index.html new file mode 100644 index 0000000000..541e393563 --- /dev/null +++ b/files/ru/web/api/window/length/index.html @@ -0,0 +1,47 @@ +--- +title: Window.length +slug: Web/API/Window/length +translation_of: Web/API/Window/length +--- +
{{ ApiRef() }}
+ +

Сводка

+ +

Возвращает кол-во фреймов (например {{HTMLElement("frame")}} или {{HTMLElement("iframe")}}) в текущем окне.

+ +

Синтаксис

+ +
framesCount = window.length;
+
+ + + +

Пример

+ +
if (window.length) {
+  // Этот документ содержит фреймы
+}
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG','browsers.html#dom-length','Window.length')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C', 'browsers.html#dom-length', 'Window.length')}}{{Spec2('HTML5 W3C')}} 
diff --git a/files/ru/web/api/window/localstorage/index.html b/files/ru/web/api/window/localstorage/index.html new file mode 100644 index 0000000000..03282b401f --- /dev/null +++ b/files/ru/web/api/window/localstorage/index.html @@ -0,0 +1,94 @@ +--- +title: Window.localStorage +slug: Web/API/Window/localStorage +tags: + - API + - Property + - Read-only + - Reference + - Storage + - Web Storage + - Window + - WindowLocalStorage + - localStorage +translation_of: Web/API/Window/localStorage +--- +

{{APIRef("Web Storage API")}}

+ +

Свойство localStorage позволяет получить доступ к {{domxref("Storage")}} объекту. localStorage аналогично свойству sessionStorage. Разница только в том, что свойство sessionStorage хранит данные в течение сеанса (до закрытия браузера), в отличие от данных,  находящихся в свойстве localStorage, которые не имеют ограничений по времени хранения и могут быть удалены только с помощью JavaScript.

+ +

Следует отметить, что данные, сохраннённые как в localStorage, так и в sessionStorage, являтся специфичными для протокола страницы.

+ +

Ключи и значения всегда строки (так же, как и объекты, целочисленные ключи автоматически будут преобразованы в строки).

+ +

Синтаксис

+ +
myStorage = window.localStorage;
+ +

Значение

+ +

Объект {{DOMxRef("Storage")}}, который используется для доступа к текущему локальному хранилищу.

+ +

Исключения

+ +
+
SecurityError
+
Запрос к хранилищу нарушает разрешение политик, либо источник для хранения не является корректной комбинацией схема/хост/порт (такое может произойти, если источником для хранения является file: или data: схемы, например). Как ещё один пример появления ошибки, пользователь через конфигурацию браузера запретил хранение данных для некоторых источников.
+
+ +

Пример

+ +

Следующий код показывает пример доступа к локальному объекту {{DOMxRef("Storage")}} для текущего домена и добавляет данные в него с помощью {{DOMxRef("Storage.setItem()")}}.

+ +
localStorage.setItem('myCat', 'Tom');
+ +

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

+ +
let cat = localStorage.getItem('myCat');
+
+ +

Удалять данные можно так:

+ +
localStorage.removeItem('myCat'); // вернёт undefined
+
+ +

Для удаления всех записей, то есть полной очистки localStorage, используйте:

+ +
localStorage.clear();
+ +
+

Примечание: Пожалуйста, обратитесь к статье Using the Web Storage API для более подробных примеров.

+
+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКоментарий
{{SpecName("HTML WHATWG", "webstorage.html#dom-localstorage", "localStorage")}}{{Spec2("HTML WHATWG")}}
+ +

Поддержка браузерами

+ + + +

{{Compat("api.Window.localStorage")}}

+ +

Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь подробное описание объема хранилищ для разных браузеров.

+ +

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

+ + diff --git a/files/ru/web/api/window/location/index.html b/files/ru/web/api/window/location/index.html new file mode 100644 index 0000000000..d14951e9d3 --- /dev/null +++ b/files/ru/web/api/window/location/index.html @@ -0,0 +1,216 @@ +--- +title: Window.location +slug: Web/API/Window/location +tags: + - API + - HTML DOM + - Window + - Свойство + - Ссылки +translation_of: Web/API/Window/location +--- +

{{APIRef}}

+ +

Свойство только для чтения Window.location возвращает объект {{domxref("Location")}} с информацией о текущем расположении документа.

+ +

Хотя Window.location представляет собой объект только для чтения Location, вы можете присвоить ему  {{domxref("DOMString")}}. Это значит что в большинстве случаев вы можете работать с location как со строкой: location = 'http://www.example.com' это синоним для location.href = 'http://www.example.com'.

+ +

Синтаксис

+ +
var oldLocation = location;
+location = newLocation;
+
+ +

Примеры

+ +

Базовый пример

+ +
alert(location); // выведет сообщение "https://developer.mozilla.org/en-US/docs/Web/API/Window.location"
+ +

Пример №1: Переход на новую страницу

+ +

Каждый раз, когда объекту location присвоено новое значение, документ будет загружен используя URL как если бы был вызван location.assign() с измененным URL. Отметим, что настройки безопасности, подобные CORS, могут препятствовать этому эффекту.

+ +
location.assign("http://www.mozilla.org"); // или
+location = "http://www.mozilla.org";
+
+ +

Пример №2: Принудительная перезагрузка текущей страницы с сервера

+ +
location.reload(true);
+ +

Пример №3

+ +

Рассмотрим следующий пример, который будет перезагружать страницу используя метод replace() для вставки значения location.pathname в хэш:

+ +
function reloadPageWithHash() {
+  var initialPage = location.pathname;
+  location.replace('http://example.com/#' + initialPage);
+}
+
+ +
Примечание: Пример выше работает в ситуациях, когда нет необходимости сохранять (оставлять) location.hash. Между тем, в Gecko-based браузерах, установка location.pathname таким образом будет очищать любую информацию в location.hash, в то время как в WebKit (и возможно в других браузерах), установка pathname не изменяет hash. Если вам необходимо изменить pathname но сохранить hash как есть, используйте метод replace(), который должен работать одинаково во всех браузерах.
+ +

Пример №4: Отображение свойств текущего URL в диалоге alert

+ +
function showLoc() {
+  var oLocation = location, aLog = ["Property (Typeof): Value", "location (" + (typeof oLocation) + "): " + oLocation ];
+  for (var sProp in oLocation){
+    aLog.push(sProp + " (" + (typeof oLocation[sProp]) + "): " +  (oLocation[sProp] || "n/a"));
+  }
+  alert(aLog.join("\n"));
+}
+
+// в html: <button onclick="showLoc();">Показать свойства location</button>
+
+ + + +
function sendData (sData) {
+  location.search = sData;
+}
+
+// в html: <button onclick="sendData('Some data');">Отправить данные</button>
+
+ +

Текущий URL с добавлением "?Some%20data" отправляется на сервер (если сервером не предпринимается никаких действий, то текущий документ перезагружается за счет изменения строки search).

+ +

Пример №6: Использование закладок без изменения свойства hash

+ +
<!doctype html>
+<html>
+<head>
+<meta charset="UTF-8"/>
+<title>MDN Example</title>
+<script>
+function showNode (oNode) {
+  var nLeft = 0, nTop = 0;
+  for (var oItNode = oNode; oItNode; nLeft += oItNode.offsetLeft, nTop += oItNode.offsetTop, oItNode = oItNode.offsetParent);
+  document.documentElement.scrollTop = nTop;
+  document.documentElement.scrollLeft = nLeft;
+}
+
+function showBookmark (sBookmark, bUseHash) {
+  if (arguments.length === 1 || bUseHash) { location.hash = sBookmark; return; }
+  var oBookmark = document.querySelector(sBookmark);
+  if (oBookmark) { showNode(oBookmark); }
+}
+</script>
+<style>
+span.intLink {
+    cursor: pointer;
+    color: #0000ff;
+    text-decoration: underline;
+}
+</style>
+</head>
+
+<body>
+<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ultrices dolor ac dolor imperdiet ullamcorper. Suspendisse quam libero, luctus auctor mollis sed, malesuada condimentum magna. Quisque in ante tellus, in placerat est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec a mi magna, quis mattis dolor. Etiam sit amet ligula quis urna auctor imperdiet nec faucibus ante. Mauris vel consectetur dolor. Nunc eget elit eget velit pulvinar fringilla consectetur aliquam purus. Curabitur convallis, justo posuere porta egestas, velit erat ornare tortor, non viverra justo diam eget arcu. Phasellus adipiscing fermentum nibh ac commodo. Nam turpis nunc, suscipit a hendrerit vitae, volutpat non ipsum.</p>
+<p>Duis lobortis sapien quis nisl luctus porttitor. In tempor semper libero, eu tincidunt dolor eleifend sit amet. Ut nec velit in dolor tincidunt rhoncus non non diam. Morbi auctor ornare orci, non euismod felis gravida nec. Curabitur elementum nisi a eros rutrum nec blandit diam placerat. Aenean tincidunt risus ut nisi consectetur cursus. Ut vitae quam elit. Donec dignissim est in quam tempor consequat. Aliquam aliquam diam non felis convallis suscipit. Nulla facilisi. Donec lacus risus, dignissim et fringilla et, egestas vel eros. Duis malesuada accumsan dui, at fringilla mauris bibendum quis. Cras adipiscing ultricies fermentum. Praesent bibendum condimentum feugiat.</p>
+<p id="myBookmark1">[&nbsp;<span class="intLink" onclick="showBookmark('#myBookmark2');">Go to bookmark #2</span>&nbsp;]</p>
+<p>Vivamus blandit massa ut metus mattis in fringilla lectus imperdiet. Proin ac ante a felis ornare vehicula. Fusce pellentesque lacus vitae eros convallis ut mollis magna pellentesque. Pellentesque placerat enim at lacus ultricies vitae facilisis nisi fringilla. In tincidunt tincidunt tincidunt. Nulla vitae tempor nisl. Etiam congue, elit vitae egestas mollis, ipsum nisi malesuada turpis, a volutpat arcu arcu id risus.</p>
+<p>Nam faucibus, ligula eu fringilla pulvinar, lectus tellus iaculis nunc, vitae scelerisque metus leo non metus. Proin mattis lobortis lobortis. Quisque accumsan faucibus erat, vel varius tortor ultricies ac. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec libero nunc. Nullam tortor nunc, elementum a consectetur et, ultrices eu orci. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a nisl eu sem vehicula egestas.</p>
+<p>Aenean viverra varius mauris, sed elementum lacus interdum non. Phasellus sit amet lectus vitae eros egestas pellentesque fermentum eget magna. Quisque mauris nisl, gravida vitae placerat et, condimentum id metus. Nulla eu est dictum dolor pulvinar volutpat. Pellentesque vitae sollicitudin nunc. Donec neque magna, lobortis id egestas nec, sodales quis lectus. Fusce cursus sollicitudin porta. Suspendisse ut tortor in mauris tincidunt rhoncus. Maecenas tincidunt fermentum facilisis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
+<p>Suspendisse turpis nisl, consectetur in lacinia ut, ornare vel mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin non lectus eu turpis vulputate cursus. Mauris interdum tincidunt erat id pharetra. Nullam in libero elit, sed consequat lectus. Morbi odio nisi, porta vitae molestie ut, gravida ut nunc. Ut non est dui, id ullamcorper orci. Praesent vel elementum felis. Maecenas ornare, dui quis auctor hendrerit, turpis sem ullamcorper odio, in auctor magna metus quis leo. Morbi at odio ante.</p>
+<p>Curabitur est ipsum, porta ac viverra faucibus, eleifend sed eros. In sit amet vehicula tortor. Vestibulum viverra pellentesque erat a elementum. Integer commodo ultricies lorem, eget tincidunt risus viverra et. In enim turpis, porttitor ac ornare et, suscipit sit amet nisl. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque vel ultrices nibh. Sed commodo aliquam aliquam. Nulla euismod, odio ut eleifend mollis, nisi dui gravida nibh, vitae laoreet turpis purus id ipsum. Donec convallis, velit non scelerisque bibendum, diam nulla auctor nunc, vel dictum risus ipsum sit amet est. Praesent ut nibh sit amet nibh congue pulvinar. Suspendisse dictum porttitor tempor.</p>
+<p>Vestibulum dignissim erat vitae lectus auctor ac bibendum eros semper. Integer aliquet, leo non ornare faucibus, risus arcu tristique dolor, a aliquet massa mauris quis arcu. In porttitor, lectus ac semper egestas, ligula magna laoreet libero, eu commodo mauris odio id ante. In hac habitasse platea dictumst. In pretium erat diam, nec consequat eros. Praesent augue mi, consequat sed porttitor at, volutpat vitae eros. Sed pretium pharetra dapibus. Donec auctor interdum erat, lacinia molestie nibh commodo ut. Maecenas vestibulum vulputate felis, ut ullamcorper arcu faucibus in. Curabitur id arcu est. In semper mollis lorem at pellentesque. Sed lectus nisl, vestibulum id scelerisque eu, feugiat et tortor. Pellentesque porttitor facilisis ultricies.</p>
+<p id="myBookmark2">[&nbsp;<span class="intLink" onclick="showBookmark('#myBookmark1');">Go to bookmark #1</span> | <span class="intLink" onclick="showBookmark('#myBookmark1', false);">Go to bookmark #1 without using location.hash</span> | <span class="intLink" onclick="showBookmark('#myBookmark3');">Go to bookmark #3</span>&nbsp;]</p>
+<p>Phasellus tempus fringilla nunc, eget sagittis orci molestie vel. Nulla sollicitudin diam non quam iaculis ac porta justo venenatis. Quisque tellus urna, molestie vitae egestas sit amet, suscipit sed sem. Quisque nec lorem eu velit faucibus tristique ut ut dolor. Cras eu tortor ut libero placerat venenatis ut ut massa. Sed quis libero augue, et consequat libero. Morbi rutrum augue sed turpis elementum sed luctus nisl molestie. Aenean vitae purus risus, a semper nisl. Pellentesque malesuada, est id sagittis consequat, libero mauris tincidunt tellus, eu sagittis arcu purus rutrum eros. Quisque eget eleifend mi. Duis pharetra mi ac eros mattis lacinia rutrum ipsum varius.</p>
+<p>Fusce cursus pulvinar aliquam. Duis justo enim, ornare vitae elementum sed, porta a quam. Aliquam eu enim eu libero mollis tempus. Morbi ornare aliquam posuere. Proin faucibus luctus libero, sed ultrices lorem sagittis et. Vestibulum malesuada, ante nec molestie vehicula, quam diam mollis ipsum, rhoncus posuere mauris lectus in eros. Nullam feugiat ultrices augue, ac sodales sem mollis in.</p>
+<p id="myBookmark3"><em>Here is the bookmark #3</em></p>
+<p>Proin vitae sem non lorem pellentesque molestie. Nam tempus massa et turpis placerat sit amet sollicitudin orci sodales. Pellentesque enim enim, sagittis a lobortis ut, tempus sed arcu. Aliquam augue turpis, varius vel bibendum ut, aliquam at diam. Nam lobortis, dui eu hendrerit pellentesque, sem neque porttitor erat, non dapibus velit lectus in metus. Vestibulum sit amet felis enim. In quis est vitae nunc malesuada consequat nec nec sapien. Suspendisse aliquam massa placerat dui lacinia luctus sed vitae risus. Fusce tempus, neque id ultrices volutpat, mi urna auctor arcu, viverra semper libero sem vel enim. Mauris dictum, elit non placerat malesuada, libero elit euismod nibh, nec posuere massa arcu eu risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer urna velit, dapibus eget varius feugiat, pellentesque sit amet ligula. Maecenas nulla nisl, facilisis eu egestas scelerisque, mollis eget metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi sed congue mi.</p>
+<p>Fusce metus velit, pharetra at vestibulum nec, facilisis porttitor mi. Curabitur ligula sapien, fermentum vel porttitor id, rutrum sit amet magna. Sed sit amet sollicitudin turpis. Aenean luctus rhoncus dolor, et pulvinar ante egestas et. Donec ac massa orci, quis dapibus augue. Vivamus consectetur auctor pellentesque. Praesent vestibulum tincidunt ante sed consectetur. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce purus metus, imperdiet vitae iaculis convallis, bibendum vitae turpis.</p>
+<p>Fusce aliquet molestie dolor, in ornare dui sodales nec. In molestie sollicitudin felis a porta. Mauris nec orci sit amet orci blandit tristique congue nec nunc. Praesent et tellus sollicitudin mauris accumsan fringilla. Morbi sodales, justo eu sollicitudin lacinia, lectus sapien ullamcorper eros, quis molestie urna elit bibendum risus. Proin eget tincidunt quam. Nam luctus commodo mauris, eu posuere nunc luctus non. Nulla facilisi. Vivamus eget leo rhoncus quam accumsan fringilla. Aliquam sit amet lorem est. Nullam vel tellus nibh, id imperdiet orci. Integer egestas leo eu turpis blandit scelerisque.</p>
+<p>Etiam in blandit tellus. Integer sed varius quam. Vestibulum dapibus mi gravida arcu viverra blandit. Praesent tristique augue id sem adipiscing pellentesque. Sed sollicitudin, leo sed interdum elementum, nisi ante condimentum leo, eget ornare libero diam semper quam. Vivamus augue urna, porta eget ultrices et, dapibus ut ligula. Ut laoreet consequat faucibus. Praesent at lectus ut lectus malesuada mollis. Nam interdum adipiscing eros, nec sodales mi porta nec. Proin et quam vitae sem interdum aliquet. Proin vel odio at lacus vehicula aliquet.</p>
+<p>Etiam placerat dui ut sem ornare vel vestibulum augue mattis. Sed semper malesuada mi, eu bibendum lacus lobortis nec. Etiam fringilla elementum risus, eget consequat urna laoreet nec. Etiam mollis quam non sem convallis vel consectetur lectus ullamcorper. Aenean mattis lacus quis ligula mattis eget vestibulum diam hendrerit. In non placerat mauris. Praesent faucibus nunc quis eros sagittis viverra. In hac habitasse platea dictumst. Suspendisse eget nisl erat, ac molestie massa. Praesent mollis vestibulum tincidunt. Fusce suscipit laoreet malesuada. Aliquam erat volutpat. Aliquam dictum elementum rhoncus. Praesent in est massa, pulvinar sodales nunc. Pellentesque gravida euismod mi ac convallis.</p>
+<p>Mauris vel odio vel nulla facilisis lacinia. Aliquam ultrices est at leo blandit tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse porttitor adipiscing facilisis. Duis cursus quam iaculis augue interdum porttitor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis vulputate magna ac metus pretium condimentum. In tempus, est eget vestibulum blandit, velit massa dignissim nisl, ut scelerisque lorem neque vel velit. Maecenas fermentum commodo viverra. Curabitur a nibh non velit aliquam cursus. Integer semper condimentum tortor a pellentesque. Pellentesque semper, nisl id porttitor vehicula, sem dui feugiat lacus, vitae consequat augue urna vel odio.</p>
+<p>Vestibulum id neque nec turpis iaculis pulvinar et a massa. Vestibulum sed nibh vitae arcu eleifend egestas. Mauris fermentum ultrices blandit. Suspendisse vitae lorem libero. Aenean et pellentesque tellus. Morbi quis neque orci, eu dignissim dui. Fusce sollicitudin mauris ac arcu vestibulum imperdiet. Proin ultricies nisl sit amet enim imperdiet eu ornare dui tempus. Maecenas lobortis nisi a tortor vestibulum vel eleifend tellus vestibulum. Donec metus sapien, hendrerit a fermentum id, dictum quis libero.</p>
+<p>Pellentesque a lorem nulla, in tempor justo. Duis odio nisl, dignissim sed consequat sit amet, hendrerit ac neque. Nunc ac augue nec massa tempor rhoncus. Nam feugiat, tellus a varius euismod, justo nisl faucibus velit, ut vulputate justo massa eu nibh. Sed bibendum urna quis magna facilisis in accumsan dolor malesuada. Morbi sit amet nunc risus, in faucibus sem. Nullam sollicitudin magna sed sem mollis id commodo libero condimentum. Duis eu massa et lacus semper molestie ut adipiscing sem.</p>
+<p>Sed id nulla mi, eget suscipit eros. Aliquam tempus molestie rutrum. In quis varius elit. Nullam dignissim neque nec velit vulputate porttitor. Mauris ac ligula sit amet elit fermentum rhoncus. In tellus urna, pulvinar quis condimentum ut, porta nec justo. In hac habitasse platea dictumst. Proin volutpat elit id quam molestie ac commodo lacus sagittis. Quisque placerat, augue tempor placerat pulvinar, nisi nisi venenatis urna, eget convallis eros velit quis magna. Suspendisse volutpat iaculis quam, ut tristique lacus luctus quis.</p>
+<p>Nullam commodo suscipit lacus non aliquet. Phasellus ac nisl lorem, sed facilisis ligula. Nam cursus lobortis placerat. Sed dui nisi, elementum eu sodales ac, placerat sit amet mauris. Pellentesque dapibus tellus ut ipsum aliquam eu auctor dui vehicula. Quisque ultrices laoreet erat, at ultrices tortor sodales non. Sed venenatis luctus magna, ultricies ultricies nunc fringilla eget. Praesent scelerisque urna vitae nibh tristique varius consequat neque luctus. Integer ornare, erat a porta tempus, velit justo fermentum elit, a fermentum metus nisi eu ipsum. Vivamus eget augue vel dui viverra adipiscing congue ut massa. Praesent vitae eros erat, pulvinar laoreet magna. Maecenas vestibulum mollis nunc in posuere. Pellentesque sit amet metus a turpis lobortis tempor eu vel tortor. Cras sodales eleifend interdum.</p>
+</body>
+</html>
+
+ +
Примечание: функция showNode является также примером использования цикла for без раздела statement. В этом случае точка с запятой всегда добавляется сразу после декларации цикла.
+ +

…тоже самое только с анимированной прокруткой страницы:

+ +
var showBookmark = (function () {
+  var  _useHash, _scrollX, _scrollY, _nodeX, _nodeY, _itFrame, _scrollId = -1, _bookMark,
+       /*
+       * nDuration: the duration in milliseconds of each frame
+       * nFrames: number of frames for each scroll
+       */
+       nDuration = 200, nFrames = 10;
+
+  function _next () {
+    if (_itFrame > nFrames) { clearInterval(_scrollId); _scrollId = -1; return; }
+    _isBot = true;
+    document.documentElement.scrollTop = Math.round(_scrollY + (_nodeY - _scrollY) * _itFrame / nFrames);
+    document.documentElement.scrollLeft = Math.round(_scrollX + (_nodeX - _scrollX) * _itFrame / nFrames);
+    if (_useHash && _itFrame === nFrames) { location.hash = _bookMark; }
+    _itFrame++;
+  }
+
+  function _chkOwner () {
+    if (_isBot) { _isBot = false; return; }
+    if (_scrollId > -1) { clearInterval(_scrollId); _scrollId = -1; }
+  }
+
+  if (window.addEventListener) { window.addEventListener("scroll", _chkOwner, false); }
+  else if (window.attachEvent) { window.attachEvent("onscroll", _chkOwner); }
+
+  return function (sBookmark, bUseHash) {
+    _scrollY = document.documentElement.scrollTop;
+    _scrollX = document.documentElement.scrollLeft;
+    _bookMark = sBookmark;
+    _useHash = arguments.length === 1 || bUseHash;
+    for (
+      var nLeft = 0, nTop = 0, oNode = document.querySelector(sBookmark);
+      oNode;
+      nLeft += oNode.offsetLeft, nTop += oNode.offsetTop, oNode = oNode.offsetParent
+    );
+    _nodeX = nLeft, _nodeY = nTop, _itFrame = 1;
+    if (_scrollId === -1) { _scrollId = setInterval(_next, Math.round(nDuration / nFrames)); }
+  };
+})();
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG', "history.html#the-location-interface", "Window.location")}}{{Spec2('HTML WHATWG')}}Нет изменений с {{SpecName("HTML5 W3C")}}.
{{SpecName('HTML5 W3C', "browsers.html#the-location-interface", "Window.location")}}{{Spec2('HTML5 W3C')}}Начальное определение
+ +

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

+ + + +

{{Compat("api.Window.location")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/matchmedia/index.html b/files/ru/web/api/window/matchmedia/index.html new file mode 100644 index 0000000000..21a386eaa8 --- /dev/null +++ b/files/ru/web/api/window/matchmedia/index.html @@ -0,0 +1,53 @@ +--- +title: Window.matchMedia() +slug: Web/API/Window/matchMedia +translation_of: Web/API/Window/matchMedia +--- +
{{APIRef}}
+ +

Сводка

+ +

Возвращает новый объект {{domxref("MediaQueryList")}} содержащий результат обработки переданной media query строки.

+ +

Синтаксис

+ +
mql = window.matchMedia(mediaQueryString)
+ +

где mediaQueryString является строкой медиа запроса, для которой будет возвращён новый объект {{domxref("MediaQueryList")}}.

+ +

Пример

+ +
if (window.matchMedia("(min-width: 400px)").matches) {
+  /* the viewport is at least 400 pixels wide */
+} else {
+  /* the viewport is less than 400 pixels wide */
+}
+ +

Данный код позволяет обрабатывать поведение по другому, когда размер окна очень узкий.

+ +

Смотрите Использование медиа-запросов из кода для дополнительных примеров.

+ +

Поддержка браузерами

+ +

 

+ +

{{Compat("api.Window.matchMedia")}}

+ +

 

+ +
 
+ +

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

+ + + +

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

+ + diff --git a/files/ru/web/api/window/moveby/index.html b/files/ru/web/api/window/moveby/index.html new file mode 100644 index 0000000000..6744e2a2e0 --- /dev/null +++ b/files/ru/web/api/window/moveby/index.html @@ -0,0 +1,70 @@ +--- +title: Window.moveBy() +slug: Web/API/Window/moveBy +translation_of: Web/API/Window/moveBy +--- +
{{APIRef}}
+ +
Метод moveBy() интерфейса Window перемещает текущее окно на указанное количество.
+ +
+

Примечание: Эта функция перемещает окно относительно текущего положения. В свою очередь, {{domxref("window.moveTo()")}} перемещает к абсолютному значению.

+
+ +

Синтаксис

+ +
window.moveBy(deltaX, deltaY)
+
+ +

Параметры

+ + + +

Пример

+ +

Этот пример перемещает окно на 10 пикселей вправо и на 10 пикселей вверх.

+ +
function budge() {
+  moveBy(10, -10);
+}
+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{ SpecName('CSSOM View', '#dom-window-moveby', 'window.moveBy()') }}{{ Spec2('CSSOM View') }}
+ +

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

+ + + +

{{Compat("api.Window.moveBy")}}

+ +

Начиная с Firefox 7 сайты не могут перемещать окно в следующих случаях:

+ +
    +
  1. Вы не можете переместить окно или вкладку, которое было создано не с помощью{{domxref("Window.open()")}}.
  2. +
  3. Вы не можете переместить окно или вкладку, когда окно имеет более одной вкладки.
  4. +
+ +

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

+ + diff --git a/files/ru/web/api/window/moveto/index.html b/files/ru/web/api/window/moveto/index.html new file mode 100644 index 0000000000..dd3bcf219c --- /dev/null +++ b/files/ru/web/api/window/moveto/index.html @@ -0,0 +1,73 @@ +--- +title: Window.moveTo() +slug: Web/API/Window/moveTo +translation_of: Web/API/Window/moveTo +--- +
{{APIRef}}
+ +
Метод  moveTo() интерфейса {{domxref("Window")}} перемещает текущее окно в указанные координаты.
+ +
+

Примечание: Эта функция перемещает окно к абсолютному положению. В свою очередь, {{domxref("window.moveBy()")}} перемещает окно относительно текущего положения.

+
+ +

Синтаксис

+ +
window.moveTo(x, y)
+
+ +

Параметры

+ + + +

Пример

+ +

Этот пример перемещает окно в левый верхний угол экрана.

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

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

+ + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{ SpecName('CSSOM View', '#dom-window-moveto', 'window.moveTo()') }}{{ Spec2('CSSOM View') }}Изначальное определение
+ +

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

+ + + +

{{Compat("api.Window.moveTo")}}

+ +

Начиная с Firefox 7 сайты не могут перемещать окно в следующих случаях:

+ +
    +
  1. Вы не можете переместить окно или вкладку, которое было создано не с помощью {{domxref("Window.open()")}}.
  2. +
  3. Вы не можете переместить окно или вкладку, когда окно имеет более одной вкладки.
  4. +
+ +

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

+ + diff --git a/files/ru/web/api/window/mozanimationstarttime/index.html b/files/ru/web/api/window/mozanimationstarttime/index.html new file mode 100644 index 0000000000..372a07f62e --- /dev/null +++ b/files/ru/web/api/window/mozanimationstarttime/index.html @@ -0,0 +1,46 @@ +--- +title: Window.mozAnimationStartTime +slug: Web/API/Window/mozAnimationStartTime +tags: + - >- + API HTML DOM NeedsExample NeedsMarkupWork NeedsSpecTable Property + Reference Window +translation_of: Web/API/Window/mozAnimationStartTime +--- +

{{ APIRef() }}

+ +

{{ gecko_minversion_header("2.0") }}{{ non-standard_header() }}

+ +

Summary

+ +

Возвращает время в миллисекундах с начала эпохи UNIX, начиная с которого анимации, начавшиеся в определенный момент, должны быть сочтены уже начавшимися. Это значение должно быть использовано вместо, например, Date.now(), потому что оно будет тем же самым для анимаций, начавшихся в этом окне в течение этого интервала, позволяя им синхронизироваться между собой.

+ +

Это также позволяет анимациям JavaScript оставаться синхронизированными с CSS переходами и SMIL анимациями, запущенными в течение того же интервала обновления.

+ +

Syntax

+ +
time = window.mozAnimationStartTime;
+
+ +

Parameters

+ + + +

Specification

+ +

Not part of specification.

+ +

Browser compatibility

+ + + +

{{Compat("api.Window.mozAnimationStartTime")}}

+ +

See also

+ + diff --git a/files/ru/web/api/window/name/index.html b/files/ru/web/api/window/name/index.html new file mode 100644 index 0000000000..aac0fc4f6b --- /dev/null +++ b/files/ru/web/api/window/name/index.html @@ -0,0 +1,29 @@ +--- +title: Window.name +slug: Web/API/Window/name +translation_of: Web/API/Window/name +--- +
{{APIRef}}
+ +

Описание

+ +

Свойство name может использоваться для установки и получения имени текущего окна. Оно становится доступным после его создания.

+ +

Синтаксис

+ +
// получение значения
+string = window.name;
+// установка значения
+window.name = string;
+
+ +

Пример

+ +
window.name = "lab_view";
+
+ +

Замечания

+ +

Имя окна используется, в основном, для задания свойства target гиперссылок и форм.

+ +

Также оно может использоваться в фреймворках для предоставления кросс-доменного обмена сообщениями (например, SessionVars и dojox.io.windowName из Dojo) как более безопасная альтернатива JSONP.

diff --git a/files/ru/web/api/window/navigator/index.html b/files/ru/web/api/window/navigator/index.html new file mode 100644 index 0000000000..6a3ba2fcc7 --- /dev/null +++ b/files/ru/web/api/window/navigator/index.html @@ -0,0 +1,90 @@ +--- +title: Window.navigator +slug: Web/API/Window/navigator +tags: + - API + - HTML DOM + - Navigator + - Window +translation_of: Web/API/Window/navigator +--- +
{{APIRef}}
+ +

Window.navigator является свойством только для чтения и возвращает ссылку на объект {{domxref("Navigator")}}, который может запросить информацию о приложении, запустившем скрипт.

+ +

Синтаксис

+ +
navigatorObject = window.navigator
+ +

Примеры

+ +

Пример #1: Распознаётся браузер и возвращается строкой

+ +
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("Opera") > -1) {
+     sBrowser = "Opera";
+} 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";
+     //"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("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);
+
+ +

Пример #2: Распознаётся браузер и возвращается его индекс

+ +
function getBrowserId () {
+
+    var
+        aKeys = ["MSIE", "Firefox", "Safari", "Chrome", "Opera"],
+        sUsrAg = navigator.userAgent, nIdx = aKeys.length - 1;
+
+    for (nIdx; nIdx > -1 && sUsrAg.indexOf(aKeys[nIdx]) === -1; nIdx--);
+
+    return nIdx
+
+}
+
+console.log(getBrowserId());
+ +

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

+ + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', '#dom-navigator', 'Window: navigator')}}{{Spec2('HTML WHATWG')}} 
+ +

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

+ + + +

{{Compat("api.Window.navigator")}}

diff --git a/files/ru/web/api/window/ondeviceorientation/index.html b/files/ru/web/api/window/ondeviceorientation/index.html new file mode 100644 index 0000000000..c9bde836d9 --- /dev/null +++ b/files/ru/web/api/window/ondeviceorientation/index.html @@ -0,0 +1,53 @@ +--- +title: Window.ondeviceorientation +slug: Web/API/Window/ondeviceorientation +tags: + - API + - Мобильные устройства + - Ориентация + - Ориентация устройства + - Свойства +translation_of: Web/API/Window/ondeviceorientation +--- +

{{ ApiRef() }}

+ +

Кратко

+ +

Обработчик события {{event('deviceorientation')}}, который содержит информацию об изменении относительной ориентации устройства.

+ +

Синтаксис

+ +
window.ondeviceorientation = function(event) { ... };
+window.addEventListener('deviceorientation', function(event) { ... });
+
+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('Device Orientation')}}{{Spec2('Device Orientation')}}Начальная спецификация.
+ +

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

+ +

{{ page("/en-US/docs/Web/API/DeviceOrientationEvent","Browser_compatibility") }}

+ +

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

+ + diff --git a/files/ru/web/api/window/ongamepadconnected/index.html b/files/ru/web/api/window/ongamepadconnected/index.html new file mode 100644 index 0000000000..683e6d2af8 --- /dev/null +++ b/files/ru/web/api/window/ongamepadconnected/index.html @@ -0,0 +1,52 @@ +--- +title: Window.ongamepadconnected +slug: Web/API/Window/ongamepadconnected +translation_of: Web/API/Window/ongamepadconnected +--- +
{{DefaultAPISidebar("Gamepad API")}}{{SeeCompatTable}}
+ +

Свойство ongamepadconnected интерфейса {{domxref("Window")}} представляет собой обработчик, который будет запущен при подключении геймпада (когда событие  {{event('gamepadconnected')}} запустится).

+ +

Тип объекта события - {{domxref("GamepadEvent")}}.

+ +

Синтаксис

+ +
window.ongamepadconnected = function() { ... };
+
+ +

Пример

+ +
window.ongamepadconnected = function(event) {
+  // All buttons and axes values can be accessed through
+  event.gamepad;
+};
+ +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Gamepad', '#event-gamepadconnected', 'gamepadconnected event')}}{{Spec2('Gamepad')}}Initial definition
+ +

Browser compatibility

+ + + +

{{Compat("api.Window.ongamepadconnected")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/ongamepaddisconnected/index.html b/files/ru/web/api/window/ongamepaddisconnected/index.html new file mode 100644 index 0000000000..c8ca962cb4 --- /dev/null +++ b/files/ru/web/api/window/ongamepaddisconnected/index.html @@ -0,0 +1,51 @@ +--- +title: Window.ongamepaddisconnected +slug: Web/API/Window/ongamepaddisconnected +translation_of: Web/API/Window/ongamepaddisconnected +--- +
{{DefaultAPISidebar("Gamepad API")}}{{SeeCompatTable}}
+ +

Свойство ongamepaddisconnected интерфейса {{domxref("Window")}} представляет собой обработчик события, который будет вызван при отключении геймпада (когда сработает событие {{event('gamepaddisconnected')}}).

+ +

Тип объекта события {{domxref("GamepadEvent")}}.

+ +

Синтаксис

+ +
window.ongamepaddisconnected = function() { ... };
+
+ +

Пример

+ +
window.ongamepaddisconnected = function() {
+  // A gamepad has been disconnected
+};
+ +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Gamepad', '#event-gamepaddisconnected', 'gamepaddisconnected event')}}{{Spec2('Gamepad')}}Initial definition
+ +

Браузерная совместимость

+ + + +

{{Compat("api.Window.ongamepaddisconnected")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/onpaint/index.html b/files/ru/web/api/window/onpaint/index.html new file mode 100644 index 0000000000..efa6d5761e --- /dev/null +++ b/files/ru/web/api/window/onpaint/index.html @@ -0,0 +1,31 @@ +--- +title: Window.onpaint +slug: Web/API/Window/onpaint +translation_of: Web/API/Window/onpaint +--- +

{{ ApiRef() }}

+ +

{{Non-standard_header}}

+ +

Обзор

+ +

Обработчик события paint для объекта window. На текущий момент не работает в приложениях основанных на движке Gecko. См. секцию Замечания!

+ +

Синтаксис

+ +
window.onpaint =funcRef;
+
+ + + +

Замечания

+ +

Событие onpaint на текущий момен не реализовано, и дата её реализации неизвестна, см. {{ Bug(239074) }}.

+ +

Событие paint срабатывает в момент рендеринга window. Данное событие срабатывает после события window - load, и срабатывает каждый раз когда сраница перерисовывается. что бывает когда другое окно перекрывает текущее - а потом исчезает.

+ +

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

+ +

Не является частью какой-либо спецификации.

diff --git a/files/ru/web/api/window/pageyoffset/index.html b/files/ru/web/api/window/pageyoffset/index.html new file mode 100644 index 0000000000..edac7ff6d3 --- /dev/null +++ b/files/ru/web/api/window/pageyoffset/index.html @@ -0,0 +1,166 @@ +--- +title: Window.pageYOffset +slug: Web/API/Window/pageYOffset +tags: + - прокрутка + - скролл +translation_of: Web/API/Window/pageYOffset +--- +
{{ APIRef("CSSOM View") }} 
+ +

pageYOffset - свойство окна {{domxref("Window")}} , доступное только для чтения. Это то же свойство, что и {{domxref("Window.scrollY", "scrollY")}} и, как таковое, оно тоже возвращает количество пикселей, на которое прокручен документ по вертикали (вниз или вверх). Значение свойства равное 0.0 говорит о том, что в данный момент верхний край документа {{domxref("Document")}} совпадает с верхним краем области содержимого окна.

+ + + +
+ +

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

+ +

Соответствующее свойство {{domxref("Window.pageXOffset", "pageXOffset")}}, которое возвращает количество пикселей, на которое документ прокручен по горизонтали, это то же самое, что и {{domxref("Window.scrollX", "scrollX")}}.

+ +

Синтаксис

+ +
yOffset = window.pageYOffset;
+
+ +

Значение

+ +

Количество пикселей, на которое документ {{domxref("Document")}} прокручен вертикально в рамках окна {{domxref("Window")}}, выражено числом с плавающей запятой. Оно рассчитывается с субпиксельной точностью и, таким образом, не обязательно будет целым числом. Значение равное 0.0 означает, что вертикальная прокрутка еще не была совершена, и верхний край документа сейчас соответствует верхнему краю области содержимого окна.

+ +

Т.к. данное свойство соответствует {{domxref("Window.scrollY")}}, обратитесь к его описанию за более детальной информацией о значении и использовании.

+ +

Пример

+ + + +

В данном примере создается элемент {{HTMLElement("iframe")}}, и задается его содержимое, затем определенный элемент этого документа прокручивается в область рамки. Как только это произошло, выясняется положение вертикальной прокрутки с помощью значения pageYOffset  у элемента {{domxref("HTMLIFrameElement.contentWindow", "contentWindow")}} в рамке.

+ +

HTML

+ +

HTML предельно прост и состоит из двух элементов: {{HTMLElement("iframe")}}, содержащий документ, который мы будем прокручивать, и {{HTMLElement("div")}}, в который мы выведем значение свойства pageYOffset по окончании прокрутки.

+ +
<iframe id="frame">
+</iframe>
+
+<div id="info">
+</div>
+ +

JavaScript

+ +
var frame = document.getElementById("frame");
+var frameDoc = frame.contentDocument;
+var info = document.getElementById("info");
+
+var target = frameDoc.getElementById("overview");
+frameDoc.scrollingElement.scrollTop = target.offsetTop;
+
+info.innerText = "Y offset after scrolling: " +
+                 frame.contentWindow.pageYOffset + " pixels";
+ +

Код JavaScript начинается с записи в переменные frame and info элементов <iframe>, содержащего наш документ, и элемента <div> , в который мы запишем результат проверки положения прокрутки. Затем мы получаем ссылку на элемент из нашего документа, который сразу должен быть прокручен до видимой области рамки, с помощью команды {{domxref("Document.getElementById", "getElementById()")}} у {{domxref("HTMLIFrameElement.contentDocument")}} рамки.

+ +

Имея целевой элемент, мы устанавлиеваем {{domxref("Element.scrollTop", "scrollTop")}} {{domxref("Document.scrollingElement", "scrollingElement")}} рамки от свойства {{domxref("Element.offsetTop", "offsetTop")}} целевого элемента. Тем самым мы настраиваем положение вертикальной прокрутки документа рамки таким образом, чтобы оно было таким же как и у верхнего края целевого элемента.

+ +

При этом автоматически установится максимально возможное значение у позиции прокрутки при попытке прокрутить дальше конца документа. Это предотвратит выход за границы документа. Никто не хочет знать, что там. Там могут быть драконы. 

+ + + +

Результат

+ +

Результат ниже. Обратите внимание на то, что содержимое документа уже прокручено до секции, под названием "Overview", а свойствоpageYOffset имеет соответствующее значение.

+ +

{{EmbedLiveSample("Пример", 650, 500)}}

+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{ SpecName('CSSOM View', '#dom-window-pageyoffset', 'window.pageYOffset') }}{{ Spec2('CSSOM View') }}
+ +

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

+ + + +

{{Compat("api.Window.pageYOffset")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/parent/index.html b/files/ru/web/api/window/parent/index.html new file mode 100644 index 0000000000..86c28a2e05 --- /dev/null +++ b/files/ru/web/api/window/parent/index.html @@ -0,0 +1,46 @@ +--- +title: Window.parent +slug: Web/API/Window/parent +tags: + - API + - HTML DOM + - NeedsCompatTable + - NeedsExample + - NeedsMarkupWork + - NeedsSpecTable + - Property + - Reference + - Window +translation_of: Web/API/Window/parent +--- +

{{APIRef}}

+ +

Ссылка на родительский объект window или родительский iframe.

+ +

Если у объекта window нет родителя, то свойство parent данного объекта будет ссылаться на сам объект.

+ +

Если window загружен внутри {{htmlelement("iframe")}}, {{htmlelement("object")}}, или {{htmlelement("frame")}}, то его parent - это объект window с элементом содержащим данный window.

+ +

Синтакс

+ +
parentWindow = window.parent;
+
+ +

Пример

+ +
if (window.parent != window.top) {
+  // мы находимся глубже чем один уровень
+}
+ +

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

+ + + +

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

+ + diff --git a/files/ru/web/api/window/performance/index.html b/files/ru/web/api/window/performance/index.html new file mode 100644 index 0000000000..39e11ecbf8 --- /dev/null +++ b/files/ru/web/api/window/performance/index.html @@ -0,0 +1,48 @@ +--- +title: Window.performance +slug: Web/API/Window/performance +translation_of: Web/API/Window/performance +--- +
{{APIREf}}
+ +

The Web Performance API allows web pages access to certain functions for measuring the performance of web pages and web applications, including the Navigation Timing API and high-resolution time data.

+ +

Methods

+ +
+
{{domxref("Performance.mark()", "performance.mark()")}}
+
Maps a {{domxref("DOMHighResTimeStamp")}} to a specified name representing the amount of milliseconds elapsed since a reference instant.
+
+ +
+
{{domxref("Performance.now()", "performance.now()")}}
+
Возвращает {{domxref("DOMHighResTimeStamp")}} представляющий количество миллисекунд прошедшее с момента отсчета.
+
measure()
+
This method stores the DOMHighResTimeStamp duration between two marks along with the associated name (a "measure").
+
getEntriesByType()
+
 
+
getEntriesByType()
+
 
+
getEntriesByName()
+
 
+
clearMarks()
+
+

If the markName argument is not specified, this method removes all marks and their associated DOMHighResTimeStamp time values.

+ +

If the markName argument is specified, this method removes all DOMHighResTimeStamp time values for the given mark name.

+ +

If the markName argument is specified but the specified markName does not exist, this method will do nothing.
+  

+
+
+ +

Properties

+ +
+
{{domxref("Performance.timing", "performance.timing")}}
+
Is a {{domxref("PerformanceTiming")}} object containing latency-related performance information.
+
{{domxref("Performance.navigation", "performance.navigation")}}
+
Is a {{domxref("PerformanceNavigation")}} object representing the type of navigation that occurs in the given browsing context, like the amount of redirections needed to fetch the resource.
+
performance.memory
+
A non-standard extension added in Chrome.
+
diff --git a/files/ru/web/api/window/popstate_event/index.html b/files/ru/web/api/window/popstate_event/index.html new file mode 100644 index 0000000000..65c7ef6a93 --- /dev/null +++ b/files/ru/web/api/window/popstate_event/index.html @@ -0,0 +1,155 @@ +--- +title: popstate +slug: Web/API/Window/popstate_event +translation_of: Web/API/Window/popstate_event +--- +

Событие popstate вызывается, когда изменяется активная запись истории. Если изменение записи истории было вызвано методом history.pushState() или history.replaceState(), то состояние события popstate будет содержать state копии входящего в историю объекта

+ +

Обратите внимание,  history.pushState() или history.replaceState() не вызывают событие popstate. Событие popstate будет вызвано при совершении действий в браузере, таких как нажатие кнопок "Вперед" или "Назад" (или при вызове history.back() или history.forward() из JavaScript).

+ +

Браузеры работают с  событием popstate по разному. Chrome (prior to v34) и Safari всегда вызывают popstate по окончании загрузки страницы, а Firefox не делает этого.

+ +

General info

+ +
+
Specification
+
HTML5
+
Interface
+
PopStateEvent
+
Bubbles
+
Yes
+
Cancelable
+
No
+
Target
+
defaultView
+
Default Action
+
None
+
+ +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
target {{readonlyInline}}{{domxref("EventTarget")}}The browsing context (window).
type {{readonlyInline}}{{domxref("DOMString")}}The type of event.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Whether the event normally bubbles or not.
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Whether the event is cancellable or not.
state {{readonlyInline}}anyThe current history entry's state object (if any).
+ +

Browser compatibility

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("2")}}10.0 [3]{{CompatVersionUnknown}}{{CompatVersionUnknown}}[1]
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support3.0[2]{{CompatVersionUnknown}}{{CompatGeckoMobile("2")}}10.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}[1]
+
+ +

[1] The implementation has limited support.

+ +

[2] The implementation in Android 2.2 and 2.3 was buggy.

+ +

[3] IE & Edge do not fire the popstate event when the URL's hash value changes, see the bug report.

+ +

Example

+ +

A page at http://example.com/example.html running the following code will generate logs as indicated:

+ +
window.onpopstate = function(event) {
+  console.log("location: " + document.location + ", state: " + JSON.stringify(event.state));
+};
+history.pushState({page: 1}, "title 1", "?page=1");
+history.pushState({page: 2}, "title 2", "?page=2");
+history.replaceState({page: 3}, "title 3", "?page=3");
+history.back(); // Logs "location: http://example.com/example.html?page=1, state: {"page":1}"
+history.back(); // Logs "location: http://example.com/example.html, state: null
+history.go(2);  // Logs "location: http://example.com/example.html?page=3, state: {"page":3}
+
+ +

Note that even though the original history entry (for http://example.com/example.html) has no state object associated with it, a popstate event is still fired when we activate that entry after the second call to history.back().

+ + + + + +

See Also

+ + diff --git a/files/ru/web/api/window/postmessage/index.html b/files/ru/web/api/window/postmessage/index.html new file mode 100644 index 0000000000..785e8fe108 --- /dev/null +++ b/files/ru/web/api/window/postmessage/index.html @@ -0,0 +1,245 @@ +--- +title: Window.postMessage() +slug: Web/API/Window/postMessage +translation_of: Web/API/Window/postMessage +--- +
{{ApiRef("HTML DOM")}}
+ +

Window.postMessage() - этот метод позволяет безопасно отправлять кроссдоменные запросы. Обычно сценариям на разных страницах разрешен доступ друг к другу только если страницы, которые их выполняли, передаются по одному  протоколу (обычно это https), номер порта (443 — по умолчанию для https) и хост (modulo {{domxref("Document.domain")}} установленный страницами на одно и тоже значение). window.postMessage() предоставляет контролируемый механизм, чтобы обойти это ограничение способом, который безопасен при правильном использовании.

+ +

При вызове метода window.postMessage() он вызывает {{domxref("MessageEvent")}} для отправки в целевом окне, когда завершается любой ожидающий сценарий, который должен быть выполнен (например, оставшиеся обработчики событий, если window.postMessage() вызвается из обработчика событий ранее заданных ожидающих таймаутов). {{domxref("MessageEvent")}} имеет тип  messagedata-свойство которого устанавливает значение первого аргумента в методе window.postMessage(), свойство origin  соотвествует адресу основного документа в вызове window.postMessage во время  вызова window.postMessage(), свойство source указывает на окно, из которого window.postMessage() вызвали. (Другие стандартные свойства событий имеют ожидаемые значения)

+ +

Syntax

+ +
otherWindow.postMessage(message, targetOrigin, [transfer]);
+ +
+
otherWindow
+
Ссылка на другое окно; такая ссылка может быть получена, к примеру, при использовании свойства contentWindow элемента iframe , объекта, возвращаемого window.open, или по именованному и числовому индексу {{domxref("Window.frames")}}, если вы пытаетесь запустить сообщение из iframe в родительском окне, то родитель также является действительной ссылкой.
+
message
+
Данные, которые нужно отправить в другое окно. Данные сериализуются с использованием алгоритма структурированного клона. Это означает, что вы можете безопасно передавать большое количество объектов данных в окно назначения без необходимости их сериализации. [1]
+
targetOrigin
+
Specifies what the origin of otherWindow must be for the event to be dispatched, either as the literal string "*" (indicating no preference) or as a URI. If at the time the event is scheduled to be dispatched the scheme, hostname, or port of otherWindow's document does not match that provided in targetOrigin, the event will not be dispatched; only if all three match will the event be dispatched. This mechanism provides control over where messages are sent; for example, if postMessage() was used to transmit a password, it would be absolutely critical that this argument be a URI whose origin is the same as the intended receiver of the message containing the password, to prevent interception of the password by a malicious third party. Always provide a specific targetOrigin, not *, if you know where the other window's document should be located. Failing to provide a specific target discloses the data you send to any interested malicious site.
+
transfer {{optional_Inline}}
+
Is a sequence of {{domxref("Transferable")}} objects that are transferred with the message. The ownership of these objects is given to the destination side and they are no longer usable on the sending side.
+
+ +

The dispatched event

+ +

В otherWindow отправляемые сообщения могут быть прослушаны следующим способом:

+ +
window.addEventListener("message", receiveMessage, false);
+
+function receiveMessage(event)
+{
+  if (event.origin !== "http://example.org:8080")
+    return;
+
+  // ...
+}
+
+ +

Свойства отправляемых сообщений:

+ +
+
data
+
Объект, переданный из другого окна.
+
origin
+
The origin of the window that sent the message at the time postMessage was called. This string is the concatenation of the protocol and "://", the host name if one exists, and ":" followed by a port number if a port is present and differs from the default port for the given protocol. Examples of typical origins are https://example.org (implying port 443), http://example.net (implying port 80), and http://example.com:8080. Note that this origin is not guaranteed to be the current or future origin of that window, which might have been navigated to a different location since postMessage was called.
+
source
+
Ссылка на объект window , который отправил сообщение; может быть использована для установки двустороннего соединения между окнами с разными origins.
+
+ +

Вопросы безопасности

+ +

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

+ +

Если же вы хотите получать сообщения от других сайтов, то всегда необходимо идентифицировать отправителя, используя origin и возможно source свойства. Любой сайт (включая, например, http://evil.example.com) может отправлять сообщения любым другим, и у вас нет гарантии, что неизвестный отправитель не пошлет вредоносные сообщения. Однако даже если отправитель известен, вам все равно необходимо всегда подтверждать синтаксис получаемого сообщения. Иначе, дыра в безопасности сайта, которому вы доверяете, может открыть дыру для межсайтового скриптинга на вашем сайте.

+ +

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

+ +

Example

+ +
/*
+ * In window A's scripts, with A being on <http://example.com:8080>:
+ */
+
+var popup = window.open(...popup details...);
+
+// When the popup has fully loaded, if not blocked by a popup blocker:
+
+// This does nothing, assuming the window hasn't changed its location.
+popup.postMessage("The user is 'bob' and the password is 'secret'",
+                  "https://secure.example.net");
+
+// This will successfully queue a message to be sent to the popup, assuming
+// the window hasn't changed its location.
+popup.postMessage("hello there!", "http://example.com");
+
+function receiveMessage(event)
+{
+  // Do we trust the sender of this message?  (might be
+  // different from what we originally opened, for example).
+  if (event.origin !== "http://example.com")
+    return;
+
+  // event.source is popup
+  // event.data is "hi there yourself!  the secret response is: rheeeeet!"
+}
+window.addEventListener("message", receiveMessage, false);
+
+ +
/*
+ * In the popup's scripts, running on <http://example.com>:
+ */
+
+// Called sometime after postMessage is called
+function receiveMessage(event)
+{
+  // Do we trust the sender of this message?
+  if (event.origin !== "http://example.com:8080")
+    return;
+
+  // event.source is window.opener
+  // event.data is "hello there!"
+
+  // Assuming you've verified the origin of the received message (which
+  // you must do in any case), a convenient idiom for replying to a
+  // message is to call postMessage on event.source and provide
+  // event.origin as the targetOrigin.
+  event.source.postMessage("hi there yourself!  the secret response " +
+                           "is: rheeeeet!",
+                           event.origin);
+}
+
+window.addEventListener("message", receiveMessage, false);
+
+ +

Notes

+ +

Any window may access this method on any other window, at any time, regardless of the location of the document in the window, to send it a message. Consequently, any event listener used to receive messages must first check the identity of the sender of the message, using the origin and possibly source properties. This cannot be overstated: Failure to check the origin and possibly source properties enables cross-site scripting attacks.

+ +

As with any asynchronously-dispatched script (timeouts, user-generated events), it is not possible for the caller of postMessage to detect when an event handler listening for events sent by postMessage throws an exception.

+ +

The value of the origin property of the dispatched event is not affected by the current value of document.domain in the calling window.

+ +

For IDN host names only, the value of the origin property is not consistently Unicode or punycode; for greatest compatibility check for both the IDN and punycode values when using this property if you expect messages from IDN sites. This value will eventually be consistently IDN, but for now you should handle both IDN and punycode forms.

+ +

The value of the origin property when the sending window contains a javascript: or data: URL is the origin of the script that loaded the URL.

+ +

Using window.postMessage in extensions {{Non-standard_inline}}

+ +

window.postMessage is available to JavaScript running in chrome code (e.g., in extensions and privileged code), but the source property of the dispatched event is always null as a security restriction. (The other properties have their expected values.) The targetOrigin argument for a message sent to a window located at a chrome: URL is currently misinterpreted such that the only value which will result in a message being sent is "*". Since this value is unsafe when the target window can be navigated elsewhere by a malicious site, it is recommended that postMessage not be used to communicate with chrome: pages for now; use a different method (such as a query string when the window is opened) to communicate with chrome windows. Lastly, posting a message to a page at a file: URL currently requires that the targetOrigin argument be "*". file:// cannot be used as a security restriction; this restriction may be modified in the future.

+ +

Specifications

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', "#dom-window-postmessage", "window.postMessage")}}{{Spec2('HTML WHATWG')}}No change from {{SpecName('HTML5 Web Messaging')}}
{{SpecName('HTML5 Web Messaging', '#dom-window-postmessage', 'window.postMessage')}}{{Spec2('HTML5 Web Messaging')}}Initial definition.
+ +

Browser compatibility

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support1.0{{CompatVersionUnknown}}{{CompatGeckoDesktop(6.0)}}[1]
+ {{CompatGeckoDesktop(8.0)}}[2]
8.0[3]
+ 10.0[4]
9.54.0
transfer argument{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(20.0)}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(6.0)}}[1]
+ {{CompatGeckoDesktop(8.0)}}[2]
{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
transfer argument{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile(20.0)}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

[1] Prior to Gecko 6.0 {{geckoRelease("6.0")}}, the message parameter must be a string. Starting in Gecko 6.0 {{geckoRelease("6.0")}}, the message parameter is serialized using the structured clone algorithm. This means you can pass a broad variety of data objects safely to the destination window without having to serialize them yourself.

+ +

[2] Gecko 8.0 introduced support for sending {{domxref("File")}} and {{domxref("FileList")}} objects between windows. This is only allowed if the recipient's principal is contained within the sender's principal for security reasons.

+ +

[3] IE8 and IE9 only support it for {{HTMLElement("frame")}} and {{HTMLElement("iframe")}}.

+ +

[4] IE10 has important limitations: see this article for details.

+ +

See also

+ + diff --git a/files/ru/web/api/window/print/index.html b/files/ru/web/api/window/print/index.html new file mode 100644 index 0000000000..458df5ff38 --- /dev/null +++ b/files/ru/web/api/window/print/index.html @@ -0,0 +1,46 @@ +--- +title: Window.print() +slug: Web/API/Window/print +translation_of: Web/API/Window/print +--- +

{{ ApiRef() }}

+ +

Описание

+ +

Открывает диалоговое окно для печати текущего документа.

+ +

Синтаксис

+ +
window.print()
+
+ +

Примечания

+ +

Начиная с Chrome {{CompatChrome(46.0)}} этот метод заблокирован внутри {{htmlelement("iframe")}} до тех пор, пока его атрибут sandbox не имеет значение allow-modals.

+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG', 'timers-and-user-prompts.html#printing', 'print()')}}{{Spec2('HTML WHATWG')}} 
+ +

Смотри так же

+ + + +

{{ languages( { "ja": "ja/DOM/window.print", "it": "it/DOM/window.print" , "zh-cn": "zh-cn/DOM/window.print" } ) }}

diff --git a/files/ru/web/api/window/prompt/index.html b/files/ru/web/api/window/prompt/index.html new file mode 100644 index 0000000000..b30ebcda54 --- /dev/null +++ b/files/ru/web/api/window/prompt/index.html @@ -0,0 +1,77 @@ +--- +title: Window.prompt() +slug: Web/API/Window/prompt +translation_of: Web/API/Window/prompt +--- +
{{ApiRef("Window")}}
+ +

Метод Window.prompt() отображает диалоговое окно с необязательным запросом на ввод текста.

+ +

Синтаксис

+ +
result = window.prompt(message, default);
+
+ + + +

Пример

+ +
var sign = prompt("What's your sign?");
+
+if (sign.toLowerCase() == "scorpio") {
+  alert("Wow! I'm a Scorpio too!");
+}
+
+// есть множество способов использовать prompt
+var sign = window.prompt(); // открывается пустое окошко с запросом ввода текста
+var sign = prompt();       //  открывается пустое окошко с запросом ввода текста
+var sign = window.prompt('Are you feeling lucky'); // открывается окошко с текстом "Are you feeling lucky"
+var sign = window.prompt('Are you feeling lucky', 'sure'); // открывается окошко с текстом "Are you feeling lucky" и значением по умолчанию "sure"
+ +

Когда пользователь нажимает кнопку OK, функция возвращает текст, введенный в поле. Если пользователь нажимает кнопку OK, без ввода какого-либо текста - возвращается пустая строка. Если пользователь нажимает кнопку Cancel, то функция возвращает null.

+ +

Вышеописанный prompt будет выглядеть следующим образом (в Chrome на OS X):

+ +

prompt() dialog in Chrome on OS X

+ +

Примечания

+ +

prompt диалог содержит однострочное текстовое поле, кнопку Cancel и кнопку OK, и возвращает (возможно пустой) текст введеный пользователем в текстовое поле.

+ +

The following text is shared between this article, DOM:window.confirm and DOM:window.alertДиалоговые окна являются модальными; они блокируют доступ пользователя к остальному интерфейсу программы, пока диалоговое окно не будет закрыто. По этой причине вы не должны злоупотреблять функциями, которые создают диологовое окно (или модальное окно).

+ +

Пожалуйста, обратите внимание, что результатом является строка. Это значит, что вы должны определять значение заданное пользователем. Например, если ответ должен быть Number, вы должны привести значение к Number: var aNumber = Number(window.prompt("Type a number", "")); 

+ +

Пользователи Mozilla Firefox (например, расширений Firefox) должны использовать методы {{interface("nsIPromptService")}}.

+ +

Начиная с Chrome {{CompatChrome(46.0)}}, этот метод блокируется внутри объекта {{htmlelement("iframe")}}, пока атрибут sandbox не будет установлен в значение allow-modal.

+ +

Эта функция не действует в современной UI/Metro версии Internet Explorer для Windows 8. Он не отображает запрос для пользователя и всегда возвращает undefined. Неясно, является ли это ошибкой или предполагаемым поведением. Desktop версия IE выполняет функцию корректно.

+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG', 'timers-and-user-prompts.html#dom-prompt', 'prompt()')}}{{Spec2('HTML WHATWG')}}
+ +

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

+ + diff --git a/files/ru/web/api/window/requestidlecallback/index.html b/files/ru/web/api/window/requestidlecallback/index.html new file mode 100644 index 0000000000..45907d1f5c --- /dev/null +++ b/files/ru/web/api/window/requestidlecallback/index.html @@ -0,0 +1,121 @@ +--- +title: window.requestIdleCallback() +slug: Web/API/Window/requestIdleCallback +translation_of: Web/API/Window/requestIdleCallback +--- +
{{APIRef("HTML DOM")}}{{SeeCompatTable}}
+ +

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

+ +

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

+ +
Опция timeout настоятельно рекомендована для работы, в противном случае может пройти несколько секунд прежде, чем будет вызван обратный вызов.
+ +

Синтаксис

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

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

+ +

Возвращает ID, который может быть использован для отмены callback'а, передав значение в метод {{domxref("window.cancelIdleCallback()")}}.

+ +

Параметры

+ +
+
callback
+
Ссылка на функцию, что должна быть вызвана в ближайшем будущем, когда цикл событий в режиме ожидания. Функции передаётся объект {{domxref("IdleDeadline")}} описывающий общее количество доступного времени и был ли выполнен callback, потому что таймаут истёк.
+
options {{optional_inline}}
+
Содержит опциональные параметры конфигурации. На текущий момент, определено только одно свойство: +
    +
  • timeout: Если задан timeout и имеет положительное значение, а callback ещё не был вызван по времени наступления миллисекундного timeout, callback будет вызван в течение следующего периода простоя, даже если это может привести к негативному влиянию на производительность.
  • +
+
+
+ +

Пример

+ +

Посмотрите наш готовый пример в статье Cooperative Scheduling of Background Tasks API.

+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('Background Tasks')}}{{Spec2('Background Tasks')}}Initial definition.
+ +

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

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support{{CompatChrome(47)}}{{CompatNo}}{{CompatGeckoDesktop(55)}}{{CompatNo}}{{CompatOpera(34)}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroid WebviewChrome for AndroidFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari Mobile
Basic support{{CompatChrome(47)}}{{CompatChrome(47)}}{{CompatGeckoMobile(55)}}{{CompatNo}}{{CompatNo}}{{CompatUnknown}}{{CompatNo}}
+
+ +

requestIdleCallback() включён в Firefox 53 но по умолчанию отключён. По умолчанию включён, начиная с Firefox 55.

+ +

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

+ + diff --git a/files/ru/web/api/window/resize_event/index.html b/files/ru/web/api/window/resize_event/index.html new file mode 100644 index 0000000000..6fdbfba4a8 --- /dev/null +++ b/files/ru/web/api/window/resize_event/index.html @@ -0,0 +1,192 @@ +--- +title: resize +slug: Web/API/Window/resize_event +tags: + - Веб + - Ссылки + - события +translation_of: Web/API/Window/resize_event +--- +

{{APIRef}}

+ +

Событие resize срабатывает при изменении размера представления документа (окна).

+ +

В некоторых более ранних браузерах можно было зарегистрировать обработчики событий resize на любом HTML-элементе. По-прежнему можно установить атрибуты onresize или использовать {{domxref("EventTarget.addEventListener", "addEventListener()")}} чтобы установить обработчик для любого элемента. Однако, событие resize  запускается только на объекте {{domxref("Window", "window")}}. Только обработчики, зарегистрированные на объекте window, будут получать события resize .

+ +

Существует предложение разрешить всем элементам получать уведомления об изменениях размера. См. раздел Resize Observer, чтобы ознакомиться с проектом документа, и GitHub вопросы, чтобы ознакомиться с текущими обсуждениями.

+ +

Основная информация

+ +
+
Спецификаци
+
DOM L3, CSSOM View
+
Интерфейс
+
UIEvent
+
Bubbles
+
Нет
+
Отмена
+
Нет
+
Цель
+
вид по умолчанию (window)
+
Действие по умолчанию
+
Нет
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
target {{readonlyInline}}EventTargetThe event target (the topmost target in the DOM tree).
type {{readonlyInline}}DOMStringThe type of event.
bubbles {{readonlyInline}}BooleanWhether the event normally bubbles or not.
cancelable {{readonlyInline}}BooleanWhether the event is cancellable or not.
view {{readonlyInline}}WindowProxydocument.defaultView (window of the document)
detail {{readonlyInline}}long (float)0.
+ +

Примеры

+ +

Так как события изменения размера могут срабатывать с высокой скоростью, обработчик событий не должен выполнять дорогостоящие операции, такие как модификации DOM. Вместо этого рекомендуется регулировать событие, используя requestAnimationFrame, setTimeout или customEvent *, следующим образом:

+ +

* ВАЖНО: Обратите внимание, что для работы в IE11 необходимо, чтобы customEvent заполнялся в функцию правильно.

+ +

requestAnimationFrame + customEvent

+ +
(function() {
+    var throttle = function(type, name, obj) {
+        obj = obj || window;
+        var running = false;
+        var func = function() {
+            if (running) { return; }
+            running = true;
+             requestAnimationFrame(function() {
+                obj.dispatchEvent(new CustomEvent(name));
+                running = false;
+            });
+        };
+        obj.addEventListener(type, func);
+    };
+
+    /* init - you can init any event */
+    throttle("resize", "optimizedResize");
+})();
+
+// handle event
+window.addEventListener("optimizedResize", function() {
+    console.log("Resource conscious resize callback!");
+});
+
+ +

requestAnimationFrame

+ +
var optimizedResize = (function() {
+
+    var callbacks = [],
+        running = false;
+
+    // fired on resize event
+    function resize() {
+
+        if (!running) {
+            running = true;
+
+            if (window.requestAnimationFrame) {
+                window.requestAnimationFrame(runCallbacks);
+            } else {
+                setTimeout(runCallbacks, 66);
+            }
+        }
+
+    }
+
+    // run the actual callbacks
+    function runCallbacks() {
+
+        callbacks.forEach(function(callback) {
+            callback();
+        });
+
+        running = false;
+    }
+
+    // adds callback to loop
+    function addCallback(callback) {
+
+        if (callback) {
+            callbacks.push(callback);
+        }
+
+    }
+
+    return {
+        // public method to add additional callback
+        add: function(callback) {
+            if (!callbacks.length) {
+                window.addEventListener('resize', resize);
+            }
+            addCallback(callback);
+        }
+    }
+}());
+
+// start process
+optimizedResize.add(function() {
+    console.log('Resource conscious resize callback!')
+});
+
+ +

setTimeout

+ +
(function() {
+
+  window.addEventListener("resize", resizeThrottler, false);
+
+  var resizeTimeout;
+  function resizeThrottler() {
+    // ignore resize events as long as an actualResizeHandler execution is in the queue
+    if ( !resizeTimeout ) {
+      resizeTimeout = setTimeout(function() {
+        resizeTimeout = null;
+        actualResizeHandler();
+
+       // The actualResizeHandler will execute at a rate of 15fps
+       }, 66);
+    }
+  }
+
+  function actualResizeHandler() {
+    // handle the resize event
+    ...
+  }
+
+}());
diff --git a/files/ru/web/api/window/screen/index.html b/files/ru/web/api/window/screen/index.html new file mode 100644 index 0000000000..5bf9a9b089 --- /dev/null +++ b/files/ru/web/api/window/screen/index.html @@ -0,0 +1,46 @@ +--- +title: Window.screen +slug: Web/API/Window/screen +translation_of: Web/API/Window/screen +--- +

{{APIRef("CSSOM")}}

+ +

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

+ +

Синтаксис

+ +
let screenObj = window.screen;
+ +

Пример

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

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

+ + + + + + + + + + + + + + + + +
СпецификацияСостояниеПояснение
{{SpecName('CSSOM View', '#dom-window-screen', 'window.screen')}}{{Spec2('CSSOM View')}}Начальное определение
+ +

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

+ + + +

{{Compat("api.Window.screen")}}

diff --git a/files/ru/web/api/window/screenx/index.html b/files/ru/web/api/window/screenx/index.html new file mode 100644 index 0000000000..ad30bf1e30 --- /dev/null +++ b/files/ru/web/api/window/screenx/index.html @@ -0,0 +1,97 @@ +--- +title: Window.screenX +slug: Web/API/Window/screenX +tags: + - API + - Property + - Read-only + - Reference + - Window + - screenX +translation_of: Web/API/Window/screenX +--- +
{{APIRef}}
+ +

Свойство Window.screenX только для чтения возвращает горизонтальное расстояние в пикселях CSS левой границы окна просмотра браузера пользователя до левой части экрана.

+ +
+

Заметка: Псевдоним screenX был реализован во всех современных браузерах - {{domxref ("Window.screenLeft")}}. Первоначально это поддерживалось только в IE, но было введено повсеместно из-за популярности.

+
+ +

Синтаксис

+ +
leftWindowPos = window.screenX
+
+ +

Возвращает

+ +

Число, равное количеству пикселей CSS от левого края окна просмотра браузера до левого края экрана.

+ +

Пример

+ +

В нашем примере screenleft-screentop вы увидите холст, на котором нарисован круг. В этом примере мы используем {{domxref ("Window.screenLeft")}}/{{domxref ("Window.screenTop")}} плюс {{domxref("Window.requestAnimationFrame ()")}}, чтобы постоянно перерисовывать круг в том же физическом положении на экране, даже если позиция окна перемещается.

+ +
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.

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

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{ SpecName('CSSOM View', '#dom-window-screenx', 'Window.screenX') }}{{ Spec2('CSSOM View') }}Initial definition.
+ +

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

+ + + +

{{Compat("api.Window.screenX")}}

+ +

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

+ + diff --git a/files/ru/web/api/window/scroll/index.html b/files/ru/web/api/window/scroll/index.html new file mode 100644 index 0000000000..ffa999921d --- /dev/null +++ b/files/ru/web/api/window/scroll/index.html @@ -0,0 +1,37 @@ +--- +title: Window.scroll() +slug: Web/API/Window/scroll +translation_of: Web/API/Window/scroll +--- +
{{APIRef}}
+ +

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

+ +

Синтаксис

+ +
window.scroll(x-coord,y-coord)
+
+ +

Параметры

+ + + +

Пример

+ +
<!-- прокрутить до пикселя с y = 100 -->
+
+<button onClick="scroll(0, 100);">прокрутить</button>
+
+ +

Замечания

+ +

window.scrollTo имеет тот же самый эффект. Для того, чтобы прокрутить на некоторое количество пикселей относительно текущей позиции, используйте window.scrollBy. См. также window.scrollByLines, window.scrollByPages.

+ +

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

+ + diff --git a/files/ru/web/api/window/scrollby/index.html b/files/ru/web/api/window/scrollby/index.html new file mode 100644 index 0000000000..bb1b2be60c --- /dev/null +++ b/files/ru/web/api/window/scrollby/index.html @@ -0,0 +1,53 @@ +--- +title: Window.scrollBy() +slug: Web/API/Window/scrollBy +translation_of: Web/API/Window/scrollBy +--- +

{{ APIRef() }}

+ +

Описание

+ +

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

+ +

Синтаксис

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

Параметры

+ + + +

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

+ +

Пример

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

Примечания

+ +

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

+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{ SpecName('CSSOM View', '#dom-window-scrollby', 'window.scrollBy()') }}{{ Spec2('CSSOM View') }}Исходное определение.
diff --git a/files/ru/web/api/window/scrollbylines/index.html b/files/ru/web/api/window/scrollbylines/index.html new file mode 100644 index 0000000000..6f2c178a2b --- /dev/null +++ b/files/ru/web/api/window/scrollbylines/index.html @@ -0,0 +1,46 @@ +--- +title: Window.scrollByLines() +slug: Web/API/Window/scrollByLines +translation_of: Web/API/Window/scrollByLines +--- +
{{ ApiRef() }}
+ +
+

{{Non-standard_header}}

+
+ +

Summary

+ +

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

+ +

Syntax

+ +
window.scrollByLines(lines)
+
+ +

Parameters

+ + + +

Example

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

Specification

+ +

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

+ +

See also

+ + diff --git a/files/ru/web/api/window/scrollmaxx/index.html b/files/ru/web/api/window/scrollmaxx/index.html new file mode 100644 index 0000000000..1f6ca6b1f2 --- /dev/null +++ b/files/ru/web/api/window/scrollmaxx/index.html @@ -0,0 +1,39 @@ +--- +title: Window.scrollMaxX +slug: Web/API/Window/scrollMaxX +translation_of: Web/API/Window/scrollMaxX +--- +
{{APIRef}} {{Non-standard_header}}
+ +

Свойство Window.scrollMaxX (только для чтения) возвращает максимальное количество пикселей в документе, которые могут быть прокручены по горизонтали.

+ +

Синтаксис

+ +
xMax = window.scrollMaxX
+
+ + + +

Пример

+ +
// Прокрутка к правому краю страницы
+let maxX = window.scrollMaxX;
+
+window.scrollTo(maxX, 0);
+
+ +

Примечания

+ +

Не используйте это свойство для получения ширины документа с помощью window.innerWidth + window.scrollMaxX. Это не равнозначно всей ширине документа, потому что {{domxref("window.innerWidth")}} включает в себя ширину полосы прокрутки, таким образом результат будет включать себя ширину документа с шириной полосы прокрутки. Вместо этого используйте {{domxref("element.scrollWidth","document.body.scrollWidth")}}. Смотрите также {{domxref("window.scrollMaxY")}}.

+ +

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

+ +

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

+ +

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

+ + + +

{{Compat("api.Window.scrollMaxX")}}

diff --git a/files/ru/web/api/window/scrollmaxy/index.html b/files/ru/web/api/window/scrollmaxy/index.html new file mode 100644 index 0000000000..1901e5162c --- /dev/null +++ b/files/ru/web/api/window/scrollmaxy/index.html @@ -0,0 +1,42 @@ +--- +title: Window.scrollMaxY +slug: Web/API/Window/scrollMaxY +tags: + - API + - HTML DOM + - Window + - Свойство +translation_of: Web/API/Window/scrollMaxY +--- +
{{APIRef}} {{Non-standard_header}}
+ +

Свойство Window.scrollMaxY возвращает максимальное число пикселей по вертикали, доступных для прокрутки в документе. Только для чтения.

+ +

Синтаксис

+ +
yMax = window.scrollMaxY
+
+ + + +

Пример

+ +
// Пролистать в самый низ
+var maxY = window.scrollMaxY;
+
+window.scrollTo(0,maxY);
+
+ +

Примечания 

+ +

Не используйте это свойство для получения общей высоты документа, так как оно не равнозначно {{domxref("window.innerHeight")}} + window.scrollMaxY, потому что {{domxref("window.innerHeight")}} включает ещё ширину любой видимой горизонтальной полосы прокрутке. Вместо этого применяйте {{domxref("element.scrollHeight","document.body.scrollHeight")}}. Смотрите также {{domxref("window.scrollMaxX")}} и {{domxref("window.scrollTo")}}.

+ +

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

+ +

Не является частью какой-либо спецификации.

+ +

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

+ +

{{Compat("api.Window.scrollMaxY")}}

diff --git a/files/ru/web/api/window/scrollto/index.html b/files/ru/web/api/window/scrollto/index.html new file mode 100644 index 0000000000..30b3a8c73f --- /dev/null +++ b/files/ru/web/api/window/scrollto/index.html @@ -0,0 +1,50 @@ +--- +title: Window.scrollTo() +slug: Web/API/Window/scrollTo +tags: + - Плавная прокрутка + - Плавный скролл +translation_of: Web/API/Window/scrollTo +--- +
{{ APIRef }}
+ +

Описание

+ +

Прокрутка документа до указанных координат.

+ +

Синтакс

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

Параметры

+ + + +

Пример

+ +
window.scrollTo( 0, 1000 );
+
+// этот код меняет поведение прокрутки на "smooth"
+window.scrollTo({
+    top: 1000,
+    behavior: "smooth"
+});
+ +

Заметки

+ +

Эта функция выполняет то же, что и window.scroll. Остальные функции, связанные с прокруткой window.scrollBy, window.scrollByLines, и window.scrollByPages.

+ +

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

+ +

{{dom0}}

diff --git a/files/ru/web/api/window/scrollx/index.html b/files/ru/web/api/window/scrollx/index.html new file mode 100644 index 0000000000..79d7cc5091 --- /dev/null +++ b/files/ru/web/api/window/scrollx/index.html @@ -0,0 +1,156 @@ +--- +title: Window.scrollX +slug: Web/API/Window/scrollX +translation_of: Web/API/Window/scrollX +--- +
{{ APIRef("CSSOM View") }}
+ +

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

+ +

Синтаксис

+ +
var x = window.scrollX;
+ +

Value

+ +

 

+ +

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

+ +

 

+ +
+

Если вам нужно получить целочисленное значение, используйте {{jsxref("Math.round()")}} для округления.

+
+ +

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

+ +

Пример

+ +

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

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

Заметки

+ +

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

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

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

+ +
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;
+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{ SpecName('CSSOM View', '#dom-window-scrollx', 'window.scrollX') }}{{ Spec2('CSSOM View') }} 
+ +

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

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Точность субпикселей{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(55)}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidAndroid WebviewEdgeFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari MobileChrome for Android
Базовая поддержка{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
Точность субпикселей{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile(55)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

См. также

+ + diff --git a/files/ru/web/api/window/scrolly/index.html b/files/ru/web/api/window/scrolly/index.html new file mode 100644 index 0000000000..8125f381ab --- /dev/null +++ b/files/ru/web/api/window/scrolly/index.html @@ -0,0 +1,77 @@ +--- +title: Window.scrollY +slug: Web/API/Window/scrollY +translation_of: Web/API/Window/scrollY +--- +

{{APIRef("CSSOM View")}}

+ +

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

+ +

Синтаксис

+ +
var y = window.scrollY
+ +

Значение

+ +

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

+ +
+

Если вам нужно получить целочисленное значение, используйте {{jsxref("Math.round()")}} для округления.

+
+ +

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

+ +

Пример

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

Заметки

+ +

Применяйте данное свойство для проверки, был ли пролистан документ, когда используете похожие функции для работы с пролистыванием, такие как {{domxref("window.scrollBy", "scrollBy()")}}, {{domxref("window.scrollByLines", "scrollByLines()")}}, or {{domxref("window.scrollByPages", "scrollByPages()")}}.

+ +

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

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

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

+ +
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;
+
+ +

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

+ + + + + + + + + + + + + + + + +
СпецификацииСтатусКомментарий
{{ SpecName('CSSOM View', '#dom-window-scrolly', 'window.scrollY') }}{{ Spec2('CSSOM View') }}
+ +

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

+ +

{{Compat("api.Window.scrollY")}}

+ +

См. также

+ + diff --git a/files/ru/web/api/window/self/index.html b/files/ru/web/api/window/self/index.html new file mode 100644 index 0000000000..8ba3324229 --- /dev/null +++ b/files/ru/web/api/window/self/index.html @@ -0,0 +1,66 @@ +--- +title: Window.self +slug: Web/API/Window/self +translation_of: Web/API/Window/self +--- +

{{ APIRef() }}

+ +

Cвойство Window.self доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект window (window.self) или переменную self. Преимущество доступа через переменную self заключается в том, что ее можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование self дает возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае self эквивалентна window.self), но также в воркерах (в случае воркера self эквивалентна {{domxref("WorkerGlobalScope.self")}}).

+ +

Пример

+ +

В следующем примере window.self точно также может быть заменено на window.

+ +
if (window.parent.frames[0] != window.self) {
+    // этот window не является первым frame в списке
+}
+
+ +

Кроме того, когда код выполняется в активном документе браузера, объект window является ссылкой на текущий глобальный объект и таким образом:

+ +
var w1 = window;
+var w2 = self;
+var w3 = window.window;
+var w4 = window.self;
+// Значения переменных w1, w2, w3, w4 строго равны между собой
+// Но только переменная w2 будет работать в workers
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', '#dom-self', 'Window.self')}}{{Spec2('HTML WHATWG')}}No difference from the latest snapshot {{SpecName("HTML5.1")}}
{{SpecName('HTML5.1', 'browsers.html#dom-self', 'Window.self')}}{{Spec2('HTML5.1')}}No difference from the {{SpecName("HTML5 W3C")}}
{{SpecName('HTML5 W3C', 'browsers.html#dom-self', 'Window.self')}}{{Spec2('HTML5 W3C')}}First snapshot containing the definition of Window.self.
+ +

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

+ +

{{Compat("api.Window.self")}}

+ +

 

+ +

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

+ + diff --git a/files/ru/web/api/window/sessionstorage/index.html b/files/ru/web/api/window/sessionstorage/index.html new file mode 100644 index 0000000000..cd639b04e1 --- /dev/null +++ b/files/ru/web/api/window/sessionstorage/index.html @@ -0,0 +1,139 @@ +--- +title: Window.sessionStorage +slug: Web/API/Window/sessionStorage +translation_of: Web/API/Window/sessionStorage +--- +

{{APIRef()}}

+ +

Свойство sessionStorage позволяет получить доступ к объекту {{domxref("Storage")}} текущей сессии. Свойство sessionStorage очень похоже на свойство {{domxref("Window.localStorage")}}, единственное различие заключается в том, что все данные, сохраненные в localStorage не имеют определенного времени жизни, а данные в sessionStorage очищаются в момент окончания сессии текущий страницы. Сессия страницы остается активной все время пока окно браузера открыто и сохраняется между перезагрузками страниц. Открытие той же страницы в новом окне браузера или новой вкладке приводит к созданию новой сессии страницы, что отличается от поведения session cookies.

+ +

Синтаксис

+ +
// Сохранение данных в sessionStorage
+sessionStorage.setItem('key', 'value');
+
+// Получение данных из sessionStorage
+var data = sessionStorage.getItem('key');
+ +

Значение

+ +

Объект типа {{domxref("Storage")}}.

+ +

Пример

+ +

Следующий код получает доступ к объекту {{domxref("Storage")}}  текущией сессии домена и добавляет данные в него используя {{domxref("Storage.setItem()")}}.

+ +
sessionStorage.setItem('myCat', 'Tom');
+ +

Следующий пример автоматически сохраняет содержимое текстового поля. Если страница случайно будет обновлена значение  текстового поля будет восстановлено. Таким образом ничего из введенного пользователем не потеряется даже в этом случае.

+ +
// Получаем ссылку на текстовое поле,
+// изменение которого будем отслеживать.
+var field = document.getElementById("field");
+
+// Проверяем наличие значения 'autosave'
+// (это может произойти только если страница будет случайно обновлена)
+if (sessionStorage.getItem("autosave")) {
+  // Восстанавливаем содержимое текстового поля
+  field.value = sessionStorage.getItem("autosave");
+}
+
+// Отслеживаем все изменения в текстовом поле
+field.addEventListener("change", function() {
+  // И сохраняем их в объект session storage
+  sessionStorage.setItem("autosave", field.value);
+});
+ +

 

+ +
+

Замечание: Обратитесь к статье Using the Web Storage API, чтобы изучить полный пример.

+
+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусЗамечание
{{SpecName('Web Storage', '#the-sessionstorage-attribute', 'sessionStorage')}}{{Spec2('Web Storage')}} 
+ +

Поддержка браузерами

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
localStorage43.5810.504
sessionStorage52810.504
+
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support2.1{{ CompatUnknown }}811iOS 3.2
+
+ +

Все браузеры имеют разный уровень поддержки как localStorage так и sessionStorage. Здесь вы можете посмотреть detailed rundown of all the storage capacities for various browsers.

+ +
+

Замечание: начиная с iOS 5.1, Safari Mobile сохраняет данные из localStorage в специальную папку, которая может быть случайно очищена по просьбе системы, обычно это происходит, когда заканчивается место.

+
+ +

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

+ + diff --git a/files/ru/web/api/window/stop/index.html b/files/ru/web/api/window/stop/index.html new file mode 100644 index 0000000000..6e79508b29 --- /dev/null +++ b/files/ru/web/api/window/stop/index.html @@ -0,0 +1,45 @@ +--- +title: Window.stop() +slug: Web/API/Window/stop +translation_of: Web/API/Window/stop +--- +
 {{APIRef}}
+ +

Анотация

+ +

Этот метод прекращает загрузку страницы.

+ +

Синтаксис

+ +
window.stop()
+
+ +

Пример

+ +
window.stop();
+
+ +

Примечания

+ +

Метод stop() равноценный клику кнопки стоп в браузере. Из-за порядка в котором загружаются скрипты, этот метод не может остановить загрузку документа в котором он вызывается, но он остановит загрузку больших картинок, новых окон и остальных объектов загрузка которых отложена.

+ +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG','browsers.html#dom-window-stop','Window.stop()')}}{{Spec2('HTML WHATWG')}} 
+ +

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

+ +

Метод stop() не поддерживается в Internet Explorer.

diff --git a/files/ru/web/api/window/storage_event/index.html b/files/ru/web/api/window/storage_event/index.html new file mode 100644 index 0000000000..c110f571ca --- /dev/null +++ b/files/ru/web/api/window/storage_event/index.html @@ -0,0 +1,82 @@ +--- +title: storage +slug: Web/API/Window/storage_event +translation_of: Web/API/Window/storage_event +--- +

Событие storage сигнализирует,  что данные в объектах localStorage или sessionStorage были изменены.  Подробнее см. Web Storage API.

+ +

Общая информация

+ +
+
Specification
+
Web Storage
+
Interface
+
{{domxref("StorageEvent")}}
+
Bubbles
+
Нет
+
Cancelable
+
Нет
+
Target
+
DefaultView (<window>)
+
Default Action
+
Нет
+
+ +

Свойства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
target {{readonlyInline}}{{domxref("EventTarget")}}The event target (the topmost target in the DOM tree).
type {{readonlyInline}}{{domxref("DOMString")}}The type of event.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Whether the event normally bubbles or not.
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Whether the event is cancellable or not.
key {{readonlyInline}}{{domxref("DOMString")}} (string)The key being changed.
oldValue {{readonlyInline}}{{domxref("DOMString")}} (string)The old value of the key being changed.
newValue {{readonlyInline}}{{domxref("DOMString")}} (string)The new value of the key being changed.
url {{readonlyInline}}{{domxref("DOMString")}} (string)The address of the document whose key changed.
storageArea {{readonlyInline}}{{domxref("Storage")}}The Storage object that was affected.
diff --git a/files/ru/web/api/window/top/index.html b/files/ru/web/api/window/top/index.html new file mode 100644 index 0000000000..5d1bf9db04 --- /dev/null +++ b/files/ru/web/api/window/top/index.html @@ -0,0 +1,99 @@ +--- +title: Window.top +slug: Web/API/Window/top +translation_of: Web/API/Window/top +--- +
{{APIRef}}
+ +

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

+ +

Синтаксис

+ +
var topWindow = window.top;
+
+ +

Примечание

+ +

Если свойство {{domxref("window.parent")}} возвращает ссылку именно на родительское окно текущего окна, то  window.top возвращает ссылку на самое верхнее окно в текущей иерархии окон.

+ +

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

+ +

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

+ + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', 'browsers.html#dom-top', 'window.top')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C', 'browsers.html#dom-top', 'window.top')}}{{Spec2('HTML5 W3C')}}Initial definition
+ +

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

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}[1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

[1] Starting in Gecko 6.0 {{geckoRelease("6.0")}}, this property is read only, as defined by the standard.

-- cgit v1.2.3-54-g00ecf