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

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
DeviceProximityEvent
実験的非標準
Chrome 未対応 なしEdge ? Firefox 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 15 — 61
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
max
実験的非標準
Chrome 未対応 なしEdge ? Firefox 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 15 — 61
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
min
実験的非標準
Chrome 未対応 なしEdge ? Firefox 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 15 — 61
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
value
実験的非標準
Chrome 未対応 なしEdge ? Firefox 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 15 — 61
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

UserProximityEvent

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
UserProximityEvent
実験的非標準
Chrome 未対応 なしEdge ? Firefox 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
near
実験的非標準
Chrome 未対応 なしEdge ? Firefox 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 ? — 61
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 62
補足 無効
完全対応 62
補足 無効
補足 See bug 1462308.
無効 From version 62: this feature is behind the device.sensors.proximity.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 15 — 61
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報