diff options
Diffstat (limited to 'files/ru/web/api/window/self/index.html')
-rw-r--r-- | files/ru/web/api/window/self/index.html | 66 |
1 files changed, 66 insertions, 0 deletions
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 +--- +<p>{{ APIRef() }}</p> + +<p>Cвойство <code><strong>Window.self</strong></code> доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект <code>window</code> (<code>window.self</code>) или переменную <code>self</code>. Преимущество доступа через переменную <code>self</code> заключается в том, что ее можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование <code>self</code> дает возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае <code>self</code> эквивалентна <code>window.self</code>), но также в воркерах (в случае воркера <code>self</code> эквивалентна {{domxref("WorkerGlobalScope.self")}}).</p> + +<h2 id="Notes" name="Notes">Пример</h2> + +<p>В следующем примере <code>window.self</code> точно также может быть заменено на <code>window</code>.</p> + +<pre class="brush:js">if (window.parent.frames[0] != window.self) { + // этот window не является первым frame в списке +} +</pre> + +<p>Кроме того, когда код выполняется в активном документе браузера, объект <code>window</code> является ссылкой на текущий глобальный объект и таким образом:</p> + +<pre class="brush:js">var w1 = window; +var w2 = self; +var w3 = window.window; +var w4 = window.self; +// Значения переменных w1, w2, w3, w4 строго равны между собой +// Но только переменная w2 будет работать в workers +</pre> + +<h2 id="Specification" name="Specification">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', '#dom-self', 'Window.self')}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td>No difference from the latest snapshot {{SpecName("HTML5.1")}}</td> + </tr> + <tr> + <td>{{SpecName('HTML5.1', 'browsers.html#dom-self', 'Window.self')}}</td> + <td>{{Spec2('HTML5.1')}}</td> + <td>No difference from the {{SpecName("HTML5 W3C")}}</td> + </tr> + <tr> + <td>{{SpecName('HTML5 W3C', 'browsers.html#dom-self', 'Window.self')}}</td> + <td>{{Spec2('HTML5 W3C')}}</td> + <td>First snapshot containing the definition of <code>Window.self</code>.</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>{{Compat("api.Window.self")}}</p> + +<p> </p> + +<h2 class="noinclude" id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>Its <code>Worker</code> equivalent, {{domxref("WorkerGlobalScope.self")}}.</li> +</ul> |