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() 方法

技術細節

冒泡: 不支持
可取消: 不支持
事件類型: Event

瀏覽器支持

表中的數字注明了完全支持該事件的首個瀏覽器版本。

事件 Chrome IE Firefox Safari Opera
onmessage 9.0 不支持 6.0 5.0 11.0