我用SSE写了一个小聊天来加载新邮件。
Chrome,Safari和Opera正常运行,而Firefox在几次重试后关闭了连接。 我正在使用重试:2000(2s)。有时firefox最多会做10个事件,有时候只有1个或2个。我从服务器端了解到,超过80%的用户都在使用firefox,所以我需要在firefox上运行。
我使用的是最新版本的firefox,并且在我使用的所有EventListener之后添加了console.log()
(' message',' open' ,'关闭')。
有没有人知道该怎么办?
非常感谢
答案 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。