我正在使用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;中没问题铬。
答案 0 :(得分:1)
我遇到了这个问题,我发现如果你创建一个局部变量,firefox中的eventsource也不能正常工作。对我来说,我在声明源之前删除了var
,并且它有效。
因此,只要您不使用$(document).ready(...)
var
内即可。
答案 1 :(得分:0)
我遇到了同样的问题,因为事件源代码在
中$(document).ready(function () {
...
});
把它拿出来。