我正在用 firebase 编写一个 Chrome 背景扩展。我注意到的是,当我在 Chrome 打开时休眠我的计算机(Win7)时,与 firebase 的连接断开(正如预期的那样)。但是,当我从休眠状态返回时,它不会自动重新连接,并且我的 .on() 事件不再触发。
我已经查看了 API 文档和有关检测断开连接的 StackOverflow 问题:Detect if Firebase connection is lost/regained
这是我用来测试连接的一些伪代码:
var myFirebase = new Firebase('https://my.firebaseio.com/'); //replace
setInterval(function() {
myFirebase.child('.info/connected').on('value', function (snap) {
if (snap.val() === true) {
console.log('Connected: ' + (new Date()).toString());
}
else {
console.log('Disconnected: ' + (new Date()).toString());
}
});
}, 5000);
这在通过网页运行 javascript 时按预期工作 - 它连接,然后在我休眠时断开连接,然后在从休眠状态恢复后很快重新连接。
但是,当它作为 google 扩展程序的一部分作为背景页面运行时,它会断开连接并且永远不会重新连接。
有没有办法强制重新连接和/或无法按预期工作的原因?