服务器站点事件(SSE)连接使用firefox中止

时间:2015-02-17 21:39:58

标签: javascript firefox server-sent-events

我用SSE写了一个小聊天来加载新邮件。

Chrome,Safari和Opera正常运行,而Firefox在几次重试后关闭了连接。 我正在使用重试:2000(2s)。有时firefox最多会做10个事件,有时候只有1个或2个。我从服务器端了解到,超过80%的用户都在使用firefox,所以我需要在firefox上运行。

我使用的是最新版本的firefox,并且在我使用的所有EventListener之后添加了console.log()(' message',' open' ,'关闭')。

有没有人知道该怎么办?
非常感谢

1 个答案:

答案 0 :(得分:0)

我认为我解决了这个问题:

首先,我在一个函数中打开EventSource:

function chat_read() {
  if(typeof(EventSource) !== "undefined") {  
    var source;
    source = new EventSource('?link=chat_stream');	
  }

现在我尝试初始化变量'source'全局(在函数外部)并且它现在正在工作。

var source;
function chat_read() {
  if(typeof(EventSource) !== "undefined") {  
    source = new EventSource('?link=chat_stream');	
  }

除此之外,我写了一个函数,它正在寻找仍在激活的SSE'open'事件,如果不是,它将重启SSE。