이 문서는 Vibration API (W3C Recommendation 10 February 2015)의 한국어 번역본입니다.
이 문서에 오역 및 오타를 포함할 수 있습니다. 가능하면 원문도 확인하시길 바랍니다.
문서 발행 이후 보고된 에러나 이슈를 errata에서 확인 가능합니다.
이 스펙 문서의 영문 버전만 표준 버전을 제공합니다. 표준이 아닌 번역본을 확인할 수도 있습니다.
Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
이 스펙문서는 호스팅 디바이스의 진동 메커니즘 접근을 제공하는 API를 정의합니다. 진동은 물리적 피드백의 일종입니다.
이 섹션은 이 문서를 공개했을 때 상태에 대해 설명합니다. 다른 문서가 이 문서를 덮어쓸 가능성이 있으니 주의하시길 바랍니다. 이 문서 및 W3C에서 공개한 다른 문서의 최신 버전은 W3C technical reports index at http://www.w3.org/TR/에서 확인 가능합니다.
이 문서는 후보 권고안 이후 변경된 내용이 없습니다.
이 문서를 권고안으로 발행함으로써, W3C는 Web IDL 문서의 권고안 프로세스 진행으로 인해 변경이 있더라도 이 문서 내 기능 정의가 영향을 받지 않을 거라 기대하고 있습니다.
이 문서는 진동 API의 특징 및 범위에 대한 그룹의 합의를 나타냅니다. 그룹이 이 간단한 첫번째 버전을 사용하여 구현할 수 없는 더 상세한 유즈 케이스를 알고 있음에 주목해야합니다. 목적은 미래 버전에서 해결하는겁니다.
이 문서는 디바이스 API 워킹 그룹에서 권고안으로 발행한 문서입니다. 이 문서에 관한 코멘트를 남기고 싶다면 public-device-apis@w3.org으로 보내주시길 바랍니다. (구독, 아카이브). 모든 코멘트를 환영합니다.
워킹 그룹의 구현 보고서를 확인하시길 바랍니다.
이 문서는 W3C 멤버, 소프트웨어 개발자, 그리고 다른 W3C 그룹 및 관계자들이 평가를 진행하여, 디렉터에 의해 W3C 권고안으로 발표했습니다. 이 문서는 안정적이며, 참고자료로 사용하거나 다른 문서에서 인용해도 좋습니다. 스펙 문서의 권고를 통해 W3C가 하는 역할은 스펙 문서에 관심을 모으고 다방면으로 퍼뜨리는 일입니다. 이를 통해 웹의 기능과 상호운용성 향상을 기대할 수 있습니다.
이 문서는 2004년 2월 6일 W3C 특허 정책을 따르는 그룹에서 작성하였습니다. W3C는 그룹의 성과물에 관련하여 모든 공개 특허 공개 리스트를 관리합니다. 여기에는 특허 공개에 대한 지시사항도 포함합니다. 특허에 대해서 충분한 지식이 있는 사람이, 스펙 문서의 Essential Claim(s)에 인정된다고 파악되는 경우, W3C 특허 정책 제 6장에 의거하여 정보를 공개해야 할 필요가 있습니다.
이 문서는 2005년 10월 14일 W3C 프로세스 문서에 의해 관리됩니다.
이 섹션은 표준에 준하지 않습니다.
이 API는 간단한 물리적 피드백만을 요구하는 유스 케이스에 접근할 수 있도록 설계되어 정의되어있습니다. 유스 케이스를 더 세밀하게 컨트롤 하는 필요는 이 스펙 문서의 범위에 포함하지 않습니다. 이 API는 일반적인 알림 메커니즘을 사용하는 걸 의미하지는 않습니다. 몇가지 유스 케이스는 [NOTIFICATIONS] 스펙문서의 Notifications API를 사용해 핸들링 합니다. 여기에 더해, 진동 여부를 가능하게 하는 건 이 스펙문서의 범위에 포함하지 않습니다.
이 스펙문서 안에서 모든 다이어그램, 예제, 노트 및 표준이 아니라 명시한 섹션은 모두 표준이 아닙니다. 그 외의 모든 내용은 표준입니다.
MAY와 MUST 키워드는 [RFC2119]에서 소개하는 대로 해석합니다.
이 스펙문서는 단일 프로덕트에서 적용할 수 있는 적합성 기준을 정의합니다: 포함된 인터페이스를 구현하는 유저 에이전트
이 스펙문서는 Web IDL의 스펙과 용어를 사용합니다. [WEBIDL] 구현자는 이 스펙문서에서 정의하는 API를 ECMAScript를 사용해 구현할 때 Web IDL 스펙에서 정의하는 ECMAScript 바인딩와 일치하는 방법으로 구현해야 합니다.
browsing context와 spin the event loop는 [HTML5]에서 정의하는 내용을 따릅니다.
vibrate()
메서드는, 호출할 때,
반드시 진동 패턴 처리 알고리즘을 동작시켜야 합니다. [must]
진동 패턴 처리 규칙은 아래 알고리즘을 따릅니다.
vibrate()
메서드의 첫번째 메서드 인수로 pattern을 넣습니다.
hidden
속성[PAGE-VISIBILITY]이 true라면, false를 반환하고 아래의 스텝을 제거합니다.
pattern이 주어진 진동 패턴의 밸리데이션 및 정상화는 아래 단계로 동작시킵니다.
pattern을 사용하는 perform vibration은, 아래 스텝을 밟습니다:
browsing context 내 Document
에서 visibilitychange
이벤트 [PAGE-VISIBILITY]가 포착되었을 때, 유저 에이전트는 반드시 이미 동작하고 있는 진동 패턴 처리를 취소해야합니다. [MUST]
이 섹션은 표준에 준하지 않습니다
다음 예제에서 디바이스는 1000 밀리세컨드 (ms)동안 진동합니다:
// vibrate for 1000 ms navigator.vibrate(1000); // or alternatively navigator.vibrate([1000]);
아래 예제에서 기기 패턴 진동은 50ms, 100ms, 150ms에서 진동하게 됩니다.
navigator.vibrate([50, 100, 150]);
아래 예제에서는 기존에 존재하는 진동을 취소시킵니다
// cancel any existing vibrations navigator.vibrate(0); // or alternatively navigator.vibrate([]);
The group is deeply indebted to Justin Lebar, Mounir Lamouri, Jonas Sicking, and the Mozilla WebAPI team for their contributions, and for providing the WebVibrator prototype as an initial input. Thanks to Anne van Kesteren for suggestions on how to make the specification reusable in other contexts.