2

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);

これは、Webページを介してjavascriptを実行すると期待どおりに機能します-接続し、休止状態にすると切断され、休止状態から戻った直後に再接続します。

ただし、Google 拡張機能の一部としてバックグラウンド ページとして実行すると、切断され、再接続されません。

再接続を強制する方法や、これが期待どおりに機能しない理由はありますか?

4

1 に答える 1

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'"

また、ログに権限エラーが記録されていますか?

(ただの勘です。これが接続ロジックに関連しているかどうかはわかりませんが、過去にアクセス許可に問題がありました。)

于 2013-02-09T22:24:37.033 に答える