Firefox失去了与eventSource的连接

时间:2013-01-14 16:31:59

标签: javascript server-sent-events

我正在使用Server Sent Events来运行社交Feed并实时更新它。

Javascript代码:

var source = new EventSource('php/stream.php?type=1&encoding=data');
source.onmessage = function(e) {
var data = JSON.parse(e.data);
$.each(data, function(id, object) { 
$('#'+ id).append('<div class="main">'+ object["content"]+'</div><!-- .main -->');
});
};

我发送的PHP:

id: 5
data: json object
retry: 3000

问题: 脚本运行得很好但是在10秒+ - 之后。似乎Firefox已丢失连接并且未插入新数据。在Safari和amp;中没问题铬。

2 个答案:

答案 0 :(得分:1)

我遇到了这个问题,我发现如果你创建一个局部变量,firefox中的eventsource也不能正常工作。对我来说,我在声明源之前删除了var,并且它有效。 因此,只要您不使用$(document).ready(...)

声明它,将其置于var内即可。

答案 1 :(得分:0)

我遇到了同样的问题,因为事件源代码在

$(document).ready(function () {    
   ...
});

把它拿出来。