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