ホームページ ウェブフロントエンド H5 チュートリアル HTML5_html5 チュートリアル スキルでバッテリーの状態を表示するための API の紹介

HTML5_html5 チュートリアル スキルでバッテリーの状態を表示するための API の紹介

May 16, 2016 pm 03:46 PM
api html5

ネットワーク トラフィックにおけるモバイル デバイスの割合は大幅に増加しており、モバイル デバイスが寄与するネットワーク トラフィックは非常に膨大であるため、モバイル デバイス用にいくつかの API と設計コンセプトを個別に作成しました。非常に典型的な例は、アプリケーションがデバイスのバッテリー ステータス情報を取得できるようにする W3C Battery Status API です。この記事では、この新しい API について説明し、それを既存のアプリケーションに統合する方法を示します。
デバイスが

をサポートしているかどうかを確認します

現時点では、バッテリー API はまだ主流のサポートがありません。したがって、この API を使用する前に、現在のデバイスがこの API をサポートしているかどうかを確認する必要があります。以下に示す関数は、現在のブラウザがバッテリー ステータス API をサポートしているかどうかを示すブーン値 (True/False) を返します。

この関数はまず、navigator.battery オブジェクトが存在するかどうかを検出します。存在しない場合は、引き続き Mozilla 固有の

を検出します。

navigator.mozBattery が存在するかどうか。 webkitBattery オブジェクトも検出するコードをいくつか見たことがありますが、それが Chrome に存在するかどうかは確認できません。

参考ドキュメント: https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery

XML/HTML コードコンテンツをクリップボードにコピー
  1. functionisBatteryStatusSupported() {
  2. return!!(navigator.battery || navigator.mozBattery);
  3. }
バッテリーを確認してください

バッテリー オブジェクトが存在する場合、次の 4 つの読み取り専用プロパティが含まれます。

充電中 - (ブーン値) システムのバッテリーが現在充電中かどうかを示します。
  • システムにバッテリーが存在しない場合、またはバッテリーが充電されているかどうかを判断できない場合、戻り値は True になります

chargeTime - (数値) バッテリーが完全に充電されるまでにかかる時間 (単位: 秒)
  • バッテリーが完全に充電されている場合、またはシステムにバッテリーがない場合、この値は 0 です。

システムが充電中でない場合、または完全に充電するのに必要な時間が決定できない場合、この値は ∞ (無限大) になります。

dischargingTime -chargeTime と同様、バッテリーが完全に放電してシステムがスリープ状態になるまでの残り時間 (単位: 秒) (数値) (単位: 秒)
  • 放電時間が決定できない場合、システムにバッテリーがないか、システムが充電中の場合、この値は ∞ (無限大) になります

レベル —— (数値) デバイスの現在の電力レベル。値は (0 ~ 1.0) の範囲で、電力残量の割合に対応します。
  • 1.0 は、バッテリーが完全に充電されているか、バッテリーがないか、値を特定できないことを意味します。

バッテリーイベントの検出
上記のプロパティはすべてバッテリー イベントにバインドされています。これらのイベントは、バッテリー状態の変化を示すために使用されます。たとえば、電源を接続すると、充電プロパティが false から true に変わります。 4 つのバッテリー イベントすべてを以下に示します:

chargechange - このタイプのイベントは、課金属性が変更されるとトリガーされます。このイベントは、onchargingchange() イベント ハンドラーによってキャプチャおよび処理できます。
    Chargingtimechange - このタイプのイベントは、chargetime 属性が変更されるとトリガーされます。このイベントは、onchargingtimechange() イベント ハンドラーによってキャプチャおよび処理できます。
  • dischargingtimechange - このタイプのイベントは、dischargingTime プロパティが変更されたときにトリガーされます。このイベントは、ondischargingtimechange() イベント ハンドラーによってキャプチャおよび処理できます。
    Levelchange - このタイプのイベントは、レベル属性が変更されるとトリガーされます。このイベントは、onlevelchange() イベント ハンドラーによってキャプチャおよび処理できます。

サンプルページ
次のコードは、Battery Status API のプロパティとイベントの使用方法を示しています。

サンプル ページには API のさまざまなプロパティ値が表示され、イベントがトリガーされるとそれらの値が更新されます。

ここをクリックしてください

オンラインサンプルにアクセスしてください。

XML/HTML コード
コンテンツをクリップボードにコピー
  1. >
  2. <htmllanghtmllang="en" >
  3. <>
  4. <title>バッテリーステータス API - 例タイトル>
  5. <metacharsetmetacharset="UTF-8"/>
  6. <スクリプト>
  7. window.addEventListener("load", function() {
  8. var バッテリー = ナビゲーター.battery || ナビゲーター.mozバッテリー;   
  9. 関数 displayBatteryStats() {
  10. document.getElementById("charging").textContent = (battery.charging) ? 「充電中」:「充電していません」;   
  11. document.getElementById("chargingtime").textContent = バッテリー.chargingTime;   
  12. document.getElementById("dischargingtime").textContent = バッテリー.dischargingTime;   
  13. document.getElementById("level").textContent = バッテリー.level * 100;   
  14. }
  15. if (バッテリー) {
  16. displayBatteryStats();   
  17. battery.addEventListener("chargingchange", displayBatteryStats, false);   
  18. battery.addEventListener("chargingtimechange", displayBatteryStats, false);   
  19. battery.addEventListener("dischargingtimechange", displayBatteryStats, false);   
  20. battery.addEventListener("levelchange", displayBatteryStats, false);   
  21. } else {
  22. document.getElementById("stats").textContent = 「申し訳ありませんが、お使いのブラウザはバッテリー ステータス API をサポートしていません」;   
  23. }
  24. }、 間違い);   
  25. スクリプト>
  26. >
  27. <ボディ>
  28. <除算除算="統計" >
  29. お使いのバッテリーは現在、<spanidspanid=「充電中」>スパン>.<br/>
  30. バッテリーは<spanidspanid="充電時間" で充電されます。 >スパン> 秒。<br/>
  31. バッテリーは<spanidspanid="放電時間"で放電されます。 >スパン> 秒。<br/>
  32. あなたのバッテリー残量は <spanidspanid="レベル">スパン>%。   
  33. div>
  34. ボディ>
  35. html>

结论

ここではバッテリー ステータス API を完全にサポートしていますが、これは時間の問題です。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

See all articles