Firebase使用Chrome后台扩展后重新连接

时间:2013-02-09 19:31:39

标签: google-chrome-extension firebase

我正在使用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扩展程序的一部分作为后台页面运行时,它会断开连接并且永远不会重新连接。

有没有办法强制重新连接和/或为什么这不能按预期工作?

1 个答案:

答案 0 :(得分:0)

你的权限看起来像这样吗?

"content_security_policy": "script-src 'self' https://static.firebase.com https://myfirebase.firebaseio.com https://s-ord-nss-1.firebaseio.com https://s-ord-nss-2.firebaseio.com; object-src 'self'"

您是否在日志中收到任何权限错误?

(只是预感 - 不知道这是否与连接逻辑有关,但过去我的权限存在问题。)