Proximity Events

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

proximity events は、ユーザーが端末の近くにいるときを知るのに便利な手段です。これらのイベントは近接度の変化への対応、例えばユーザーがスマートフォンを耳の近くに持ってきて電話をしているときにスクリーンを休止することを可能にします。

メモ: この API は端末に近接センサーを必要とすることが明らかです。近接センサーは、たいていモバイル端末のみで使用できます。センサーを搭載していない端末もイベントをサポートするかもしれませんが、イベントは発生しません。

Proximity Event

端末の近接センサーが端末と物体との距離の変化を検出すると、それをブラウザーに通知します。ブラウザーが通知を受けると、あらゆる変化について DeviceProximityEvent イベントが、またよりおおざっぱな変化の場合に UserProximityEvent イベントが発生します。

このイベントは addEventListener メソッド (イベント名 deviceproximity または userproximity を使用) を使用するか、イベントハンドラーを window.ondeviceproximity プロパティまたは window.onuserproximity プロパティに接続することにより、window オブジェクトレベルで取得できます。

イベントを取得すると、イベントオブジェクトでさまざまな種類の情報にアクセスできます。

  • DeviceProximityEvent イベントは、端末と物体との距離に一致する値を value プロパティで提供します。また、端末が何らかの物体を検出できる最短距離および最長距離を、min プロパティおよび max プロパティで提供します。
  • UserProximityEvent イベントは、距離の大まかな近さを真偽値で表します。UserProximityEvent.near は物体が近いときに true に、また物体が遠いときに false になります。

window.addEventListener('userproximity', function(event) {
  if (event.near) {
    // スクリーンの電源を切る
    navigator.mozPower.screenEnabled = false;
  } else {
    // スクリーンの電源を入れる
    navigator.mozPower.screenEnabled = true;
  }
});

仕様書

仕様書 状態 備考
Proximity Sensor
Proximity Events の定義
草案 初回定義

ブラウザーの対応

DeviceProximityEvent

BCD tables only load in the browser

UserProximityEvent

BCD tables only load in the browser

関連情報