EventSource
接口用来管理服务器发送事件.你可以通过将EventSource
对象的onmessage属性指向一个自定义方法来处理那些
从服务器接受到的无类型的消息(也就是,没有event字段的消息
).你还可以使用addEventListener()方法来监听
其他指定了事件类型的消息.
查看使用服务器发送事件一文了解详情.
方法概述
void close(); |
void init(in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow, in DOMString url); Native code only! |
属性
属性名 | 类型 | 描述 |
onerror |
|
初始值为null,需要指向一个自定义函数,在连接发生错误的时候会自动调用那个自定义函数. |
onmessage |
|
初始值为null,需要指向一个自定义函数,在接受到一个没有event字段的消息时 会自动调用那个自定义函数. |
onopen |
|
初始值为null,需要指向一个自定义函数,在成功建立连接后调用. |
readyState |
long |
连接的当前状态,必须为CONNECTING ,OPEN ,或者CLOSED 中的一种. 只读. |
url |
DOMString |
只读. |
除了这些普通属性,下面还有两个无法通过JavaScript代码直接访问的内部属性(当然,没有常规的属性名):
- 重新连接时间
- 一个时间值,单位为毫秒,用来决定在连接失败后需要等待多久再次尝试连接.
- 最后一次的事件ID字符串
-
初始值为空字符串,如果服务器发送的消息中包含有
id字段,则对应的字段值会赋值给该属性
.如果该属性已经有值,则会覆盖旧的那个值.
常量
常量名 | 值 | 描述 |
CONNECTING |
0 |
正在建立连接. |
OPEN |
1 |
连接处于打开状态,正在调度事件. |
CLOSED |
2 |
连接没有被建立,或者已经关闭,或者发生了某个致命错误. |
方法
close()
如果连接处于打开状态,则关闭连接,并把readyState属性的值设置为
CLOSED
.如果连接已经关闭,则该方法不会做任何事情.
void close();
参数
无.
Native code only!
init
在C++代码中新建一个EventSource对象.
void init( in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow, in DOMString url );
参数
-
principal
-
用来进行该请求的principal,不能为
null
. -
scriptContext
-
进行该请求的脚本上下文,可以为
null
. -
ownerWindow
-
与该请求关联的window对象,可以为
null
. -
url
-
EventSource对象的
目标URL,不能为空.
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
EventSource support | 9 | 6.0 (6.0) | ? | 11 | 5 |
Cross-Origin Resource Sharing support |
26 | 11.0 (11.0) | ? | 12 | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
EventSource support | ? | ? | ? | ? | ? |