Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Proximity

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.

Summary

근접 이벤트는 사용자가 디바이스에 가까이 갔을때를 알 수 있는 간단한 벙법이다.

예를 들어,  사용자가 전화가 걸려왔을 때 디바이스에 귀를 가까이 하면, 근접 이벤트들은 스마트폰의 화면이 꺼지게 하여 이러한 변화에 대응할 수 있게 해준다.

Note: 당연히 이 API는 근접 센서를 가진 장치를 필요로 하며, 이 근접 센서는 대게 모바일 다비이스들에서만 이용 가능하다. 근접 센서가 없는 장치들에서는 근접 이벤트들을 지원할 수는 있을 지 몰라도 해당 이벤트들은 절대 발생하지 않을 것이다.

Proximity Events

다비이스 근접 센서가 장치와 대상 사이의 변화를 감지했을 때, 센서는 그  변화를 브라우저에게 알린다. 브라우저는 그 알림을 받으면 그 변화에 대해 DeviceProximityEvent 이벤트를 발생시킨다. 그리고 더 대략적인 변화(more rough change)를 알리기 위해  UserProximityEvent 이벤트를 발생시킨다.

window object 레벨에서  addEventListener 메소드 (deviceproximity 또는 userproximity 이벤트명) 를 이용하여 근접 이벤트를 전달받을 수 있다. 또한 window.ondeviceproximity 또는 window.onuserproximity 프로퍼티에 이벤트 핸들러를 붙이는 방법으로도 이벤트를 전달받을 수 있다.

일단 이벤트가 전달되면, 그 이벤트 오브젝트는 다음과 같은 여러 종류의 정보에 접근할 수 있게 해준다:

  •  DeviceProximityEvent 이벤트는 value 프로퍼티를 통해 디바이스와 대상 사이의 거리에 정확히 매치되는 값을 제공한다. 또한 이 이벤트는 장치가 감지할 수 있는 가장 가까운 거리, 가장 먼거리에 대한 정보를 min 와  max 프로퍼티 값을 통해 제공한다.
  • UserProximityEvent 이벤트는 거리에 대한 대략적인 추정치를 boolean 형태로 제공한다. 대상과 디바이스가 가까운면   UserProximityEvent.near 프로퍼티 값은 true 가 되고, 대상과의 거리가 멀다면 그 값은 false가 된다.

Example

window.addEventListener('userproximity', function(event) {
  if (event.near) {
    // let's power off the screen
    navigator.mozPower.screenEnabled = false;
  } else {
    // Otherwise, let's power on the screen
    navigator.mozPower.screenEnabled = true;
  }
});

Specifications

Specification Status Comment
Proximity Events Candidate Recommendation Initial specification

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
DeviceProximityEvent Not supported (Yes) Not supported Not supported Not supported
UserProximityEvent Not supported (Yes) Not supported Not supported Not supported
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
DeviceProximityEvent Not supported Not supported 15.0 (15.0) Not supported Not supported Not supported
UserProximityEvent Not supported Not supported (Yes) Not supported Not supported Not supported

See also

문서 태그 및 공헌자

 이 페이지의 공헌자: yunji_koh
 최종 변경: yunji_koh,