This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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 Sensor The definition of 'Proximity Events' in that specification. |
Working Draft | Initial specification |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
DeviceProximityEvent |
No support | (Yes) | No support | No support | No support |
UserProximityEvent |
No support | (Yes) | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
DeviceProximityEvent |
No support | No support | 15.0 (15.0) | No support | No support | No support |
UserProximityEvent |
No support | No support | (Yes) | No support | No support | No support |