Тестер вибрации
Тестируйте вибромотор вашего смартфона с помощью Web API navigator.vibrate(). Запускайте пользовательские паттерны, предустановки вроде SOS и сердцебиения, или простые импульсы с регулируемой длительностью.
Ввод
Поддержка устройства
Как это работает
Этот инструмент использует стандартный API navigator.vibrate(), встроенный в современные браузеры смартфонов. Для запуска вибрации требуется действие пользователя (касание), и страница должна быть в фокусе.
Вывод
Документация
Что такое Vibration API?
Vibration API (navigator.vibrate()) — это стандарт браузера, который позволяет веб-страницам запускать вибромотор, встроенный в смартфоны и некоторые планшеты. API принимает либо одно значение длительности в миллисекундах, либо чередующийся массив длительностей вибрации и пауз — так называемый паттерн вибрации. API поддерживается в большинстве браузеров Android; iOS не предоставляет вибрацию веб-страницам из-за ограничений платформы.
Паттерны вибрации описываются как массивы, где значения с нечётными индексами представляют длительность вибрации, а значения с чётными индексами — длительность пауз. Например, [200, 100, 200] означает вибрировать 200 мс, пауза 100 мс, вибрировать 200 мс. Вызов navigator.vibrate(0) или navigator.vibrate([]) немедленно отменяет любую текущую вибрацию.
Описание инструмента
Этот инструмент позволяет проверить, поддерживает ли ваше устройство Vibration API, и экспериментировать с паттернами вибрации прямо в браузере. Вы можете запустить одиночный импульс с настраиваемой длительностью, ввести полностью пользовательский паттерн, разделённый запятыми, или выбрать один из встроенных предустановок, таких как SOS, сердцебиение и двойные/тройные импульсы. Журнал событий записывает каждую попытку вибрации с временной меткой и точным использованным паттерном, чтобы вы могли сравнивать результаты на разных устройствах и браузерах.
Примеры
| Входной паттерн | Что происходит |
|---|---|
300 |
Одиночный импульс длительностью 300 мс |
200,100,200 |
Вибрировать 200 мс → пауза 100 мс → вибрировать 200 мс |
150,100,150,100,150 |
Три коротких импульса с промежутками 100 мс между ними |
0 |
Отменяет любую текущую вибрацию |
Возможности
- Определяет, поддерживают ли устройство и браузер Vibration API, и отображает статус при загрузке
- Регулируемая длительность одиночного импульса от 10 мс до 5000 мс с помощью ползунка
- Ввод пользовательского паттерна принимает любую последовательность длительностей вибрации и пауз, разделённых запятыми
- Шесть готовых предустановок: Short Pulse, Long Pulse, Double Pulse, Triple Pulse, SOS Pattern и Heartbeat
- Журнал событий с временными метками, показывающий каждый запущенный паттерн и был ли он принят или отклонен браузером
Варианты использования
- Разработка мобильного веб-приложения: Проверьте, что тактильная обратная связь, реализованная с помощью Vibration API, действительно работает на целевом устройстве перед выпуском функции.
- Тестирование устройств QA: Быстро подтвердите, что вибромотор работает на новом или отремонтированном смартфоне без установки нативного приложения.
- Прототипирование паттернов: Итерируйте пользовательские последовательности вибрации (уведомления, обратная связь в играх, сигналы доступности), тестируя их в реальном времени в браузере.
Как это работает
Инструмент вызывает navigator.vibrate(pattern) с предоставленным вами значением. Браузер возвращает true, если вызов был принят, и false, если он был отклонен — например, потому что документ не в фокусе или устройство не поддерживает API. Оба результата записываются в журнал событий. Вся обработка происходит полностью на устройстве; никакие данные не отправляются на какой-либо сервер.
Ограничения
- iOS (Safari, Chrome на iOS): Apple не предоставляет
navigator.vibrate()на iOS, поэтому API всегда сообщается как неподдерживаемый на iPhone и iPad. - Браузеры на настольных компьютерах: Настольные компьютеры обычно не имеют вибромотора, поэтому даже если API доступен, он не имеет физического эффекта.
- Фоновые вкладки: Некоторые браузеры молча отклоняют вызовы вибрации, когда страница не находится на переднем плане.
- Максимальная длительность: Отдельные сегменты вибрации ограничены браузером (обычно около 10 секунд); очень большие значения могут быть молча усечены.