2017-09-26 29 views
0

document.ononlineは、ブラウザでご利用いただけるイベントです。 DOMにアクセスできないサービスワーカーコードでサポートされている同等のイベントはありますか?サービスワーカーでononlineイベントがサポートされていますか?

私が見たすべてのサンプルコードは、要求を処理する過程でネットワークの状態をチェックします。サーバーまたはクラウドへのローカル更新をコミットする目的で、すぐにネットワークの可用性に対応することが望ましいでしょう。

私はドキュメントの面で見つけることができる最高はhttps://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScopeであり、それは、これらのイベントの一覧です:

    • OnActivateイベントをonfetch
    • のonMessage
    • onnotificationclick
    • onnotificationclose oninstall これらの

    は、onSynconpush

  • onpushsubscriptionchange
  • 、同期はほとんど私が求めるものをのように思えるが、それはSyncManagerの使用に依存し、そのためのドキュメントは、生産コードでの使用に対して警告をはらんでいます。

  • 答えて

    0

    SWで利用可能なイベントがあるかどうかはわかりません。誰かがこれを確認する必要があります。

    この問題を回避するには、SWに接続の変更を通知できるページのJSにononlineイベントハンドラロジックを設定します。これは、ユーザーのUIの通知を処理するのにも適しています。

    Spesifically:

    • SWがSW
    • のpostMessage APIを介して接続の変更、ハンドラはSWを通知すると、クライアント/ページJSがononlineイベント
    • のためのハンドラを登録し
    • のonMessageハンドラを登録しますクライアントから接続変更msgを受け取り、それに応じて動作する

    postMes sage APIは非常に便利で、基本的にページとSWの間のデータを渡すことができます。私の提案には特別なメッセージはありません。{"new_status": "online"}のようなものを渡してください。

    関連する問題