>웹 프론트엔드 >JS 튜토리얼 >JavaScript는 휴대폰 진동 API 코드를 구현합니다.

JavaScript는 휴대폰 진동 API 코드를 구현합니다.

PHPz
PHPz원래의
2016-05-16 15:47:082532검색

새로운 API가 출시되었습니다. HTML5는 (곧) 사용자 장치 진동을 지원할 예정입니다. 이는 분명히 매우 흥미로운 일입니다. 예를 들어, 사용자에게 알림을 보내고 게임 경험을 향상시킬 수 있습니다. 아래 편집기는 필요한 모든 사람이 참조할 수 있도록 JavaScript 휴대폰 진동 API를 정리합니다.

최신 브라우저에서 제공되는 새로운 API는 javascript 지리적 위치 정보 API와 같은 기존 데스크톱 애플리케이션보다는 휴대폰 애플리케이션에 점점 더 기울어지고 있습니다. 모바일 애플리케이션만을 대상으로 하는 또 다른 JavaScript API는 Vibration API입니다. 분명히 이 API를 사용하면 모바일 프로그래머는 JavaScript를 사용하여 전화기의 진동 기능을 호출하고 진동 모드와 지속 시간을 설정할 수 있습니다.

브라우저의 진동 API 지원 여부
사용하기 전에 현재 애플리케이션 환경과 브라우저가 진동 API를 지원하는지 확인하는 것이 좋은 습관입니다. 감지 방법은 다음과 같습니다.

코드는 다음과 같습니다.

// Standards ftw!
var supportsVibrate = "vibrate" in navigator;

window.navigator 개체에는 vibrate 진동에 대한 API가 하나만 있습니다.

진동 API의 기본 응용
navigator.vibrate 함수는 숫자 매개변수 또는 숫자 배열을 사용할 수 있습니다. 배열 매개변수를 사용할 때 홀수 숫자는 진동할 시간(초)이고 짝수 숫자는 - 숫자가 붙은 숫자는 대기 시간(초)입니다.

// 1초 진동

navigator.vibrate(1000);

// 여러번 진동
// 매개변수는 3초 진동, 2초 대기, 1초 진동입니다.

navigator.vibrate([3000, 2000, 1000]);

진동을 중지하려면 navigator.vibrate 메소드에 0 또는 빈 배열만 전달하면 됩니다.

// 진동 중지

navigator.vibrate(0);
navigator.vibrate([]);

필수 참고로 navigator.vibrate 메소드를 호출하면 매개변수가 숫자인 경우 휴대전화가 주기적으로 진동하지 않으며 진동은 한 번 발생하고 중지됩니다. 매개변수가 배열인 경우 배열의 값에 따라 진동이 진동한 후 진동을 멈춥니다.

지속적인 진동
간단히 setInterval 및clearInterval 메소드를 사용하여 휴대폰을 지속적으로 진동시키는 효과를 생성할 수 있습니다.

var vibrateInterval;
// Starts vibration at passed in level
function startVibrate(duration) {
navigator.vibrate(duration);
}
// Stops vibration
function stopVibrate() {
// Clear interval and stop persistent vibrating 
if(vibrateInterval) clearInterval(vibrateInterval);
navigator.vibrate(0);
}
// Start persistent vibration at given duration and interval
// Assumes a number value is given
function startPeristentVibrate(duration, interval) {
vibrateInterval = setInterval(function() {
startVibrate(duration);
}, interval);
}

위 코드는 다음과 같은 진동 매개변수에만 사용됩니다. 숫자인 경우 매개변수가 배열인 경우 전체 기간을 계산한 다음 해당 특성에 따라 반복해야 합니다.

진동 API 사용 시나리오
이 API는 분명히 휴대폰 장치를 대상으로 합니다. 모바일 WEB 모바일 애플리케이션을 개발할 때 좋은 경고 도구입니다. 웹 게임이나 멀티미디어 애플리케이션을 개발할 때 이 진동 기능은 없어서는 안될 좋은 기술입니다. 예를 들어, 사용자가 휴대폰으로 WEB 게임을 하고 있는데, 게임에서 폭발이 일어나고, 이에 따라 휴대폰이 진동하게 된다면 훌륭한 사용자 경험일까요?

이 JavaScript 진동 API에 대해 어떻게 생각하시나요? 빨리 대중화될 것 같나요? 아직도 별로 쓸모가 없나요?

위 내용은 이 장의 전체 내용입니다. 더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼, Html5 비디오 튜토리얼을 방문하세요.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.