BT

照度と近接がDOMに入る

| 作者: Faraz Yashar フォローする 0 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2013年1月20日. 推定読書時間: 4 分 |

原文(投稿日:2013/01/14)へのリンク

 

これまでのWeb開発はブラウザの枠に閉じ込められ、ドキュメントレベルの操作とユーザインタラクションのハンドリングを提供するだけだった。W3Cはこの障壁を取り除き、開発者がデバイスや各種周辺機器とやりとりできるAPIを導入しようとしている。そうした仕様のうち、"Proximity Events"と"Ambient Light Events"がドラフトとしてLast Callステージに入った。今後数ヶ月でCandidate Recommendationステージに入り、実装も登場し始めるだろう。

"Proximity Events"と"Ambient Light Events" 仕様はそれぞれ、近接センサーや照度センサーからのイベントを、JavaScriptとHTML5のイベントハンドラ経由で受信する手段を定義している。
現在のところ、"Proximity Events"仕様は2つのインターフェイスを定義している。DeviceProximityEventはデバイスのオブジェクトからの距離に関する情報を開発者に提供する。UserProximityEventは近傍のオブジェクトを検出し、ブラウザおよびプラットフォーム固有の通知を開発者に提供する。DeviceProximityEventは3つのリードオンリー属性を公開している。

  • min - 最小検出距離 (cm)
  • max - 最大検出距離 (cm)
  • value - 近傍のオブジェクトの近さ (cm)

このオブジェクトは、HTML5仕様でイベントハンドラとして定義された特別なコールバックに渡される。これは引数としてeventをとる。

// イベントハンドラ
deviceProximityHandler = function(event) {
  document.writeln('min = ', event.min,
                   'max = ', event.max,
                   'value = ', event.value); // e.g. => min = 0 max = 5 value = 5
  document.write('
'); } // イベントハンドラにリスナーを割り当てる window.addEventListener('deviceproximity', deviceProximityHandler);

UserProximityEventはほどほど「エキサイティング」で、オブジェクト近接通知のためのboolean属性nearへのアクセスを提供する

userProximityHandler = function(event) {
  document.write('near = ', event.near); // e.g. => near = true/false
  document.write('
'); } window.addEventListener('userproximity', userProximityHandler);

現在のところ、"Ambient Light Events"仕様も2つのインターフェイスを定義している。DeviceLightEventはルクスを単位とする照度をvalue属性で提供する。LightLevelEventはユーザエージェントで定義された照度に関する情報を、"dim" (50ルクス以下)、"normal"、"bright"" (10000ルクス以上) の3段階で提供する。

deviceLightHandler = function(event) {
  document.write('value = ', event.value); // e.g. => value = 10/100/1000
  document.write('
'); } window.addEventListener('devicelight', deviceLightHandler);

現在のところ、DeviceProximityEventUserProximityEventDeviceLightEventはFirefox Mobileベータ版15以上で利用できる。Firefox Beta for Windowsにおける照度センサーのサポートも間もなく登場する予定だ。忘れないでほしい。これはサンプル実装であり、提供されている機能は大きく変更される可能性がある。たとえば、MozillaのDeviceLightEvent実装は、仕様上もはや定義されていないminとmaxへのアクセスを提供している。

"Proximity Events"と"Ambient Light Events"は、現在は分離されたSensor API仕様のかなり成熟したブランチだ。この仕様は温度、気圧、湿度、騒音などへのアクセスを野心的に定義しようとしている。この大きな野望は、将来のDOMを使ってユーザの環境とやりとりできるツールを開発者に垣間見させるだろう。開発者はこれらAPIに関して、特にLast Callのうちに、フィードバックするよう推奨されている。Device APIs Working Groupの公式メーリングリストを購読して会話に参加しよう。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT