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 |