【问题标题】:HTML5 → Dynamic associated Server Sent EventsHTML5 → 动态关联的服务器发送事件
【发布时间】:2012-06-07 17:08:03
【问题描述】:

我刚开始使用 SSE,想知道如何使它们更具动态性。

我正在使用 Box 来选择用户,并根据用户名更改图像和文本。 现在我想通过 SSE 检查用户更新,并希望用户仍然可以选择。

我在更改 <select> 框时尝试添加 eventSource:

function setSelected(elm) {
    selectedName = elm.options[elm.selectedIndex].innerHTML;

    var eSource = new EventSource("getState.php?passVar=" + selectedName);
    eSource.onmessage = function(event) {
        document.getElementById("stateText").innerHTML = event.data;
    };
}

我怎样才能达到我的目标?

编辑 我现在已经成功添加了 eventSource(我遇到了源本身的问题)。

但是当我现在添加另一个来源时,我实际上有两个来源正在运行。 如何删除旧的?

【问题讨论】:

  • 为什么您当前的方法不起作用?
  • 我现在可以添加一个来源。但我不能删除旧的...

标签: javascript ajax html push server-sent-events


【解决方案1】:

要删除以前的事件源,请使用close() method。您将不得不以某种方式保留对eSource 的引用才能做到这一点。

【讨论】:

  • 我已经尝试调用close(),但我无法保留引用,因为该方法也会在第一次被调用(当未定义 eSource 时)。我现在可以使用以下代码:if (typeof(eSource) != "undefined") { eSource.close(); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 2011-07-10
  • 2014-11-15
  • 2020-01-11
  • 1970-01-01
  • 2020-06-20
相关资源
最近更新 更多