オンライン/オフラインイベントを処理するjQueryプラグイン

そのため、ブラウザでのオンライン/オフラインイベントのサポートが必要でした(ドラフトによると、

html5は、それぞれ接続が表示/非表示になったときに発生します)。 Mozillaおよび

IE8はこれらのイベントをサポートしています。 そして、これはすでにたくさんあります。



すべては問題ありませんが、オンラインイベントは、ユーザーがオンラインであることを100%保証するものではありません。 何らかの種類の接続があることを保証しますが、インターネット接続はありません(誰も見ていない場合、このトピックに関する説明ビデオ )。 したがって、外の世界の可用性について追加のチェックが必要です。 オフラインイベントは、接続がないことを保証しますが、これは場合によっては便利であり、開発者は追加のアクションを実行する必要はありません。



これらのイベントの実装は時間とともに変化するとは思わないため、接続があるかどうかを確実に知りたい場合は、実装を自分で完了する必要があります。



MozillaとIE8に決定しました(すべて問題ありませんが、少しファイルする必要があります)が、これらのイベントがまだない他のブラウザーでどうするか? ページの初期化中およびajaxリクエストの後、それらを自分で定義します。 そして、jquery c trigger / bindをプラグインとして使用して、それをやってみましょう。



主なプラグインのアイデア



0)ユーザーフレンドリーなインターフェース。

$(document.body).bind('xonline', function(event) { ... });





$(document.body).bind('xoffline', function(event) { ... });





オンラインとオフラインが既にブラウザーに実装されているため、xonline、xofflineを使用します。実際、これらのイベントに対してアドオンを実行しています。



1)当然、プラグインはこれらのイベントが存在するブラウザーのオンライン、オフラインイベントをサポートする必要があります。 これらのブラウザのオンラインでは、インターネットへの接続について追加のチェックが行われます。 オフライン時には、何もチェックしません。



2)これらのアクションをサポートしないブラウザーの場合、ajaxリクエストの後にネットワークステータスの変化のチェックが発生します。 接続があり、要求が失敗したとします。 この場合、ステップ1のように通信の追加チェックを行い、必要に応じてトリガー( 'xoffline')を実行します。



使い方は?



すべてが単純です。2つのイベントxonline、xofflineのハンドラーを作成します。 プラグインは残りを自動的に実行します。 プラグインがどのように機能するかを確認するには、例を開き、ネットワークから切断します。 8番目のIEおよびFirefox 3.5では、xofflineが機能し、四角形の色が変更されます。 Google Chrome、Opera、Safari、および以前のバージョンのieおよびmozillaでは、ネットワークから切断することに加えて、オフラインイベントをトリガーするために、失敗したリクエストを完了する必要があります。 接続を常に監視することが重要な場合、プラグインは$ .checkWebstatus(time)メソッド(time-秒数)をサポートします。 オンライン/オフラインイベントをネイティブでサポートしないブラウザのこのメソッドは、毎秒接続をチェックします。 checkWebStatusを使用した例



Mozilla 3.5.3、IE8、IE6、Chrome、Opera 10で正常にテストされました



プラグイン 内部の 追加チェックを含む プラグインの サンプル 例を ダウンロードし ます



更新10.10.2009

プラグインを微調整しました:

1)オフライン時にネットワークのステータスをチェックするバグを修正しました。

2)イベントの名前がxonline、xofflineから、よりわかりやすいtrueonline、trueofflineに変更されました。

3)ウィンドウからメソッドと変数を削除しました。

4)プラグインを構成する機能が追加されました。

5)プラグインには独自のページがあります。

6)TrueOnlineプラグインと呼ばれるようになりました:)



賢明なアドバイスとテストをありがとうございました。



All Articles