ホームページ > 記事 > ウェブフロントエンド > HTML5: Web 情報 API を探索する
###############導入###
Web デザインの分野で最も議論されている概念の 1 つは、レスポンシブ Web デザインです。レスポンシブ Web デザインについては何千もの記事が書かれているため、この記事では説明しません。ただし、レスポンシブ Web デザインには重要な制限があり、レスポンシブ Web デザインは主にブラウザーのビューポートのサイズに基づいています。
この方法は、正しいサイズと解像度の画像を配信する場合には優れていますが、ビデオ コンテンツなど、あらゆる状況に適しているわけではありません。このような場合、本当に必要なのは、デバイスのネットワーク接続に関する詳細情報です。
Web サイトを本当に優れたものにしたいと願うすべての開発者は、ページができるだけ早く読み込まれるように、Web サイトが提供するリソースを最適化する必要があることを明確にしておく必要があります。ただし、上記の例では、高解像度ビデオを提供することでユーザーの帯域幅が無駄にならず、ユーザー エクスペリエンスが向上します。
ネットワーク情報 API は、まさにデバイスのネットワーク接続について詳しく知る必要がある場所です。
1.
それは何ですか?
ネットワーク情報 API は、システムがネットワーク、携帯ネットワーク、Wi-Fi、Bluetooth などと通信するために使用する接続タイプへのアクセスを提供します。また、接続タイプが変更されたときにスクリプトに通知する方法も提供します。これは、開発者が DOM に動的変更を加えたり、ネットワーク接続タイプが変更されたことをユーザーに通知したりできるようにするためです。
2.
実装
Network Information API の現在のバージョンは、
window.navigator オブジェクトには、ユーザー エージェントの接続タイプを返す 1 つのプロパティ type
が含まれています。 type
属性には次のいずれかの値を指定できます:
###ブルートゥース#########
携帯電話
これらの値には、
bluetooth や wifi
タイプは、EDGE、3G、4G などのモバイル接続を指します。
other ではないが、他のタイプでもないことを示します。
unknownネットワーク情報 API は、
type イベントも公開します。これは、ネットワーク接続の種類が変更されるたびにトリガーされます。
などの特定のクラスを
htmlNetwork Information API が何をするのか、そしてそこから何が得られるのかがわかったので、どのブラウザがこの API をサポートしているかを見てみましょう。
ブラウザのサポート
この記事の執筆時点では、Network Information API は、ベンダー プレフィックスを使用する Firefox および Chrome Canary でのみサポートされています。 Chrome Canary で API を使用するには、Experimental Web Platform features
フラグを有効にする必要があります。詳細については、Paul Irish によるこの記事をご覧ください。
Network Information API のサポートが十分ではないかのように、Firefox の最新バージョンであるバージョン 30 は古い API 仕様をサポートしています。したがって、ネットワーク情報 API を今すぐ使用したい場合は、以前の API 仕様で公開されているプロパティとイベントを必ず確認してください。 <p> 古い仕様では、<code class="inline">bandwidth
と metered
という 2 つのプロパティが公開されていました。 bandwidth
プロパティは、現在の帯域幅の推定値をメガバイト/秒 (MB/s) で表す double 値です。 metered
このプロパティは、デバイスのネットワーク接続が制限を受けるかどうかを指定するブール値です。以前の仕様では、上記のプロパティの変更をリスナーに通知する onchange
イベントも定義されていました。
仕様の新しいバージョンと古いバージョンについて理解していただくために、次のセクションでは両方のバージョンを使用するデモを構築します。
これまで、API によって公開されるプロパティとイベント、および API の使用例を紹介してきました。このセクションでは、API の動作を確認するための簡単な Web ページを作成します。
デモは、3 つのリスト項目の順序なしリストを含む HTML5 ページで構成されています。各プロジェクトには、Network Messaging API の古い仕様と新しい仕様で公開されているプロパティ値を検証するテキスト スニペットが含まれています。リスト項目はデフォルトでは非表示になっており、対応する属性がサポートされている場合にのみ表示されます。
デモでは、ブラウザーが古い API 仕様 (Firefox 用) を実装しているかどうか、およびブラウザーがネットワーク情報 API をサポートしているかどうかも検出します。最初のケースでは、Old API Version Supported メッセージが表示され、2 番目のケースでは、API Not Supported メッセージが表示されます。
Network Information API でサポートされるテストは非常に単純で、次のとおりです:
リーリー実装されたバージョンが古い仕様かどうかを検出するには、次のように metered
属性が存在するかどうかをテストします。
リーリー
type など、対応するリスト項目のテキストを更新します。
リーリー ###結論は###
この記事では、Network Information API について紹介しました。この記事の最初の部分では、API とは何か、API で何ができるのかについて説明しました。また、Network Information API が公開するプロパティとイベントについても学びました。Network Information API は非常に使いやすく、ブラウザがサポートするようになれば、提供される情報を活用しない理由はありません。この API についてどう思いますか?もっと多くのブラウザがサポートしたら、それを使用しますか?
以上がHTML5: Web 情報 API を探索するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。