aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/eventsource/index.html
blob: e539cd0414fe53c27d21f6d5b4d805223ad48cf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
---
title: EventSource
slug: Web/API/EventSource
translation_of: Web/API/EventSource
---
<p>{{APIRef("Websockets API")}}</p>

<p><code><font face="Open Sans, Arial, sans-serif">Интерфейс </font>EventSource</code> используется для получения серверных событий (Server-sent events). Он устанавливает соединение с сервером по HTTP и получает события в формате text/event-stream без закрытия соединения.</p>

<p><span style="line-height: 1.5;">Вы можете присвоить атрибуту <code>onmessage</code> JavaScript-функцию для получения нетипизированных сообщений (то есть сообщений без поля </span><code style="font-size: 14px;">event</code><span style="line-height: 1.5;">). Вы так же можете вызвать функцию </span><code style="font-size: 14px;">addEventListener()</code><span style="line-height: 1.5;"> для обработки событий так же, как для любого другого источника событий.</span></p>

<p>См. <a href="/en/Server-sent_events/Using_server-sent_events" title="en/Server-sent events/Using server-sent events">Using server-sent events</a> для более детальной информации </p>

<h2 id="Method_overview">Методы</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td><code>void <a href="#close()">close</a>();</code></td>
  </tr>
 </tbody>
</table>

<h2 id="Attributes">Свойства</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td class="header">Attribute</td>
   <td class="header">Type</td>
   <td class="header">Description</td>
  </tr>
  <tr>
   <td><code>onerror</code></td>
   <td><code>{{ Interface("nsIDOMEventListener") }}</code></td>
   <td>JavaScript-функция, вызываемая при появлении ошибки</td>
  </tr>
  <tr>
   <td><code>onmessage</code></td>
   <td><code>{{ Interface("nsIDOMEventListener") }}</code></td>
   <td>JavaScript-функция, вызываемая при приходе сообщения без поля <code>event</code></td>
  </tr>
  <tr>
   <td><code>onopen</code></td>
   <td><code>{{ Interface("nsIDOMEventListener") }}</code></td>
   <td>JavaScript-функция, вызываемая после открытия соединения</td>
  </tr>
  <tr>
   <td><code>readyState</code></td>
   <td><code><a href="/en/long" title="en/long">long</a></code></td>
   <td>Состояние соединения, должно иметь одно из значений <code>CONNECTING</code>, <code>OPEN</code>, или <code>CLOSED</code>. <strong>Только для чтения</strong></td>
  </tr>
  <tr>
   <td><code>url</code></td>
   <td>{{ domxref("DOMString") }}</td>
   <td><strong>Только для чтения</strong></td>
  </tr>
 </tbody>
</table>

<p>В дополнение к открытым атрибутам два внутренних атрибута, которые не открыты напрямую:</p>

<dl>
 <dt>reconnection time</dt>
 <dd>Это время в миллисекундах, используемое для определения продолжительности ожидания после неудачной попытки соединения до повторного соединения</dd>
 <dt>last event ID string</dt>
 <dd>По умолчанию пустая строка. Сервер может отправлять сообщение с полем <code>id </code>для установки этого значения.</dd>
</dl>

<h2 id="Constants">Константы</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td class="header">Constant</td>
   <td class="header">Value</td>
   <td class="header">Description</td>
  </tr>
  <tr>
   <td><code>CONNECTING</code></td>
   <td><code>0</code></td>
   <td>Соединение устанавливается</td>
  </tr>
  <tr>
   <td><code>OPEN</code></td>
   <td><code>1</code></td>
   <td>Соединение открыто, получение событий</td>
  </tr>
  <tr>
   <td><code>CLOSED</code></td>
   <td><code>2</code></td>
   <td>Соединение не устанавливается, закрыто, или произошла фатальная ошибка</td>
  </tr>
 </tbody>
</table>

<h2 id="Methods">Методы</h2>

<h3 id="close">close()</h3>

<p>Закрывает соединение, если оно существует и устанавливает атрибут <code>readyState </code>в значение<font face="Consolas, Liberation Mono, Courier, monospace"> <code>CLOSED</code>.</font> Если соединение уже закрыто, этот метод ничего не делает.<font face="Consolas, Liberation Mono, Courier, monospace"> </font></p>

<pre class="eval">void close();
</pre>

<h6 id="Parameters">Параметры</h6>

<p>Нет</p>

<h2 id="See_also">Смотрите также</h2>

<ul>
 <li>{{ spec("https://html.spec.whatwg.org/multipage/comms.html#the-eventsource-interface","Server-Sent Events: The EventSource Interface","CR") }}</li>
 <li><a href="/en/Server-sent_events/Using_server-sent_events" title="en/Server-sent events/Using server-sent events">Using server-sent events</a></li>
</ul>

<h2 id="Совместимость_браузеров">Совместимость браузеров</h2>

<p>{{Compat("api.EventSource")}}</p>

<div id="compat-mobile"></div>