--- title: Notifications API slug: Web/API/Notifications_API translation_of: Web/API/Notifications_API ---
{{DefaultAPISidebar("Web Notifications")}}
Notifications API позволяют web-страницам контролировать отображение системных уведомлений для конечного пользователя — они находятся вне контекста окна браузера верхнего уровня, поэтому могут отображаться даже если пользователь сменил вкладку или перешёл к другому приложению. API были разработаны таким образом, чтобы поддерживать совместимость с существующими системами уведомлений на различных платформах.
На поддерживаемых платформах, отображение системных уведомлений обычно включает две вещи. Во-первых, пользователь должен разрешить текущему источнику отображать уведомления, что, как правило, происходит, при первичной загрузке приложения или сайта, используя метод {{domxref("Notification.requestPermission()")}}. Далее будет вызван диалог со следующим текстом:
Здесь пользователь может выбрать разрешить уведомления от источника, заблокировать их или решить позже. Как только выбор будет сделан, для текущей сессии будут установлены настройки.
Заметка: Для Firefox 44, разрешения для Notifications и Push объединяются. Если было установлено разрешение для уведомлений, push так же будут разрешены .
Затем создаётся новое уведомление с помощью конструктора {{domxref("Notification.Notification","Notification()")}}. В функцию должен быть передан аргумент заголовка и, по желанию, объект настроек, чтобы определить опции, такие как направление и тело текста, иконка, звук уведомления и т.д.
{{AvailableInWorkers}}
В дополнение, спецификация Notifications API определить несколько дополнений для ServiceWorker API, чтобы позволить им отправлять уведомления.
Заметка: Чтобы найти больше об использовании уведомлений в вашем приложении, читайте Использование Notifications API.
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('Web Notifications')}} | {{Spec2('Web Notifications')}} | Living standard |
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 5{{property_prefix("webkit")}}[1] 22 |
{{CompatGeckoDesktop("2.0")}}{{property_prefix("moz")}}[2] {{CompatGeckoDesktop("22.0")}} |
{{CompatNo}} | 25 | 6[3] |
Available in workers | {{CompatUnknown}} | {{CompatGeckoDesktop("41.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Service worker additions |
{{CompatChrome(42.0)}} |
{{CompatGeckoDesktop("42.0")}}[4] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} |
{{CompatVersionUnknown}} |
{{CompatGeckoMobile(2.0)}}{{property_prefix("moz")}}[2] {{CompatGeckoMobile(22.0)}} |
1.0.1{{property_prefix("moz")}}[2] 1.2 |
{{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} |
{{CompatVersionUnknown}} |
Available in workers | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile(41.0)}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Service worker additions | {{CompatNo}} | {{CompatNo}} | {{CompatGeckoMobile(42.0)}}[4] | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatChrome(42.0)}} |
[1] Before Chrome 22, the support for notification followed an old prefixed version of the specification and used the {{domxref("window.navigator.webkitNotifications","navigator.webkitNotifications")}} object to instantiate a new notification. Before Chrome 32, {{domxref("Notification.permission")}} was not supported.
[2] Prior to Firefox 22 (Firefox OS <1.2), the instantiation of a new notification was done with the {{domxref("window.navigator.mozNotification", "navigator.mozNotification")}} object through its createNotification()
method. In addition, the Notification was displayed when calling the show()
method and supported only the click
and close
events (Nick Desaulniers wrote a Notification shim to cover both newer and older implementations.)
[3] Safari started to support notification with Safari 6, but only on Mac OSX 10.8+ (Mountain Lion).
[4] Firefox 42 has shipped with web notifications from Service Workers disabled.
Когда используете уведомления в приложении на Firefox OS, убедитесь, что desktop-notification
установленно в вашем фаине манифеста. Уведомления могут быть использованы для любомого уровня разрешения, равного или выше:
"permissions": { "desktop-notification": {} }