这是控制器中get_update
方法的服务器端代码
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
header('Connection: keep-alive');
...
$wait_time = gmdate('s', $query['max_wait']);
echo "data: $wait_time'n'n";
flush();
和javascript代码是(在jQuery中)
var source = new EventSource('get_update');
source.onmessage = function (event) {
$('#total_logged').text(event.data);
};
这是很好的工作在Chrome,甚至在Forefox。但是的问题是,它停止工作在firefox一次更新后(重新加载工作一次,刷新完成后,工作两次)。在那一站之后)。怎么了?
这是firefox的jquery问题。上述$(document).ready()
函数中的SSE代码在Firefox中不能连续工作。我把这个函数外的代码翻出来,现在可以正常工作了