onmessage 事件

定义和用法

当通过事件源接收到消息时,会发生 onmessage 事件。

onmessage 事件的 event 对象支持以下属性:

  • data - 包含实际的消息
  • origin - 调用事件的文档的 URL
  • lastEventId - 在事件流中看到的最后一条消息的标识符

相关事件:

  • onopen - 当与服务器的连接打开时发生
  • onerror - 出现问题时发生

有关服务器发送事件(Server-Sent Events)的更多知识,请学习我们的 HTML5 服务器发送事件教程

实例

例子 1

创建一个新的 EventSource 对象,并指定发送更新的页面的 URL。

每次收到更新时,都会发生 onmessage 事件。当 onmessage 事件发生时,会把接收到的数据放入 id="myDIV" 的 <div> 元素中:

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
  document.getElementById("myDIV").innerHTML += event.data + "<br>";
};

亲自试一试

例子 2

获取调用 onmessage 事件的文档的 URL:

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
  document.getElementById("myDIV").innerHTML = event.origin;
};

结果会是:

https://www.codew3c.com/

亲自试一试

语法

object.onmessage = function(){myScript};

亲自试一试

使用 addEventListener() 方法:

object.addEventListener("message", myScript);

亲自试一试

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: Tidak disokong
可取消: Tidak disokong
Jenis peristiwa: Event

Dukungan Peramban

Angka dalam tabel menunjukkan versi paling awal peramban yang mendukung peristiwa ini sepenuhnya.

Peristiwa Chrome IE Firefox Safari Opera
onmessage 9.0 Tidak disokong 6.0 5.0 11.0