Firefox 3のオンライン状態の変化を伝えるイベント

杉山貴章(オングス)
2008-12-02 08:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

online/offlineイベントをキャッチする

 ブラウザの状態がオンラインからオフライン、またはその逆に変化した場合、offlineまたはonlineイベントが通知される。このイベントは通常通りリスナでキャッチすればよい。現在の状態はnavigator.onLineプロパティの値から把握できる。

 リスト1は、Mozilla CorporationのJohn Resig氏によるサンプルコードを元に作成した例である。最初にinit()でdocument.bodyに対してonlineイベントとofflineイベントのためのリスナを登録している。リスナではupdateOnlineStatus()を呼び出し、現在の状態と、受け取ったイベントの種類をページに表示する。

リスト1 オンライン状態の変化に応じて表示を変えるサンプルコード


  
  
    
    
   


   
     

 初期状態ではブラウザはオンラインになっているはずなので、図1のように表示される。

図1 初期状態ではオンラインになっている 図1 初期状態ではオンラインになっている

 ここから、[ファイル]メニューでブラウザをオフライン状態にしてみる。するとofflineイベントが発生してupdateOnlineStatus()が呼び出され、表示は図2のように変わる。さらに、再びオンライン状態に戻すと図3のようになる。

図2 オフライン状態にすると、offlineイベントが発生して表示が変わる 図2 オフライン状態にすると、offlineイベントが発生して表示が変わる
図3 再びオンライン状態に戻した 図3 再びオンライン状態に戻した

 ウェブアプリケーションにおいてこのようにオンライン状態の変更を正確に把握できれば、オフラインの間はキャッシュやローカルストレージを利用し、オンラインになったらサーバと同期を取るなどといった処理が可能になる。オフライン対応のウェブアプリケーションを作成するためには必須の機能だ。

  • 新着記事
  • 特集
  • ブログ