Что делает инструмент
Веб-будильник — простая альтернатива мобильному будильнику для тех, кто работает за компьютером. Создаёте набор будильников, выбираете дни недели и тип звука. Когда наступает время — играет звук + появляется системное уведомление.
Главный плюс: ничего не нужно устанавливать. Главный минус: вкладка должна быть открыта. Поэтому это «дополнительный», а не «основной» будильник для критичных событий.
Браузеры приостанавливают AudioContext в свёрнутых/неактивных вкладках на iOS Safari после long-idle, но в desktop-браузерах с активным таймером AudioContext остаётся живым.— Документация Web Audio API
Важные ограничения
- Браузер должен быть открыт. JavaScript не выполняется в закрытых вкладках. Если закрыли — будильник не сработает.
- Компьютер должен быть включён. Если ноутбук в режиме сна (или закрыли крышку), скрипты приостанавливаются. После пробуждения — будильник догонит, но в неудобное время.
- Браузер throttle-ит фоновые вкладки. Chrome/Edge с 2021 ограничивают setInterval до 1 Hz в неактивных табах. Мы проверяем время каждые 5 секунд, что в throttling режиме = каждую секунду — для будильника с минутной точностью этого хватает.
- iOS Safari может усыплять AudioContext. Если на iPhone браузер был долго неактивен, при срабатывании Web Audio может не воспроизводиться. Notification API более надёжен.
- Сейчас не сохраняются между сессиями. При закрытии вкладки будильники теряются. localStorage добавим в следующей версии.
Советы и сценарии
- Закрепите вкладку. Chrome / Firefox / Edge: правый клик на табе → «Закрепить вкладку». Закреплённая всегда слева, узкая, меньше шансов закрыть.
- Гарантированное пробуждение — телефон + веб-дубль. Если боитесь проспать — два будильника параллельно (телефон + браузер).
- Напоминания в течение дня. «Обед в 13:00 будни», «прогулка в 16:00», «помедитировать в 18:00». Здесь веб-будильник — основной (работаете весь день за компом).
- Расписание занятий. Студентам / онлайн-преподавателям — будильник за 10 минут до звонка с зумом.
- Eye-rest напоминания. Каждые 20 минут — посмотреть на дальние объекты (правило 20-20-20). Для этого лучше отдельный sit/stand timer (план).
- Notifications API — MDN Web Docs. Mozilla. developer.mozilla.org/en-US/docs/Web/API/Notifications_API. 2024.
- Page Lifecycle API & throttling. Chrome Developers. developer.chrome.com. 2021.
- Web Audio API — autoplay restrictions. WHATWG. webaudio.github.io/web-audio-api. 2024.
