--- 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" name="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" name="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" name="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" name="Methods">Методы</h2> <h3 id="close" name="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" name="Parameters">Параметры</h6> <p>Нет</p> <h2 id="See_also" name="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>