aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/window/self/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/api/window/self/index.html')
-rw-r--r--files/ru/web/api/window/self/index.html66
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>