Этот документ — не просто список, а выжимка боли, шишек и неожиданных открытий, с которыми сталкивается почти каждый фронтендер. Неважно, Vue ты выбрал или React, если твое приложение должно работать в браузере на айфоне пятилетней давности — добро пожаловать в клуб. Здесь будет всё: от странностей с Safari до неожиданных проблем с синтетическими событиями.
Нюансы мобильных браузеров и PWA
iOS Safari не поддерживает Notification API без установки PWA
Проблема: На iOS ты не можешь просто вызвать new Notification(...)
— API будет недоступно, пока пользователь не установит сайт как PWA на домашний экран. Так же, в Safari просто не будет доступен класс Notification, браузер его просто не имплиментирует на этапе браузерного окна.
Решение:
- Чтобы проверить можно ли использовать уведомления можно написать следующую проверку:
typeof window !== 'undefined' && 'Notification' in window;
🔗 [MDN — Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API)
🔗 [WebKit — Push Notifications](https://webkit.org/blog/12945/meet-web-push-on-ios/)