Уведомление: Конструктор Notification()
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Защищенная среда: Эта функция доступна только в защищенных средах (HTTPS) в некоторых или всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Конструктор Notification() создаёт новый экземпляр объекта Notification, который представляет собой уведомление для пользователя.
Примечание: Попытка создать уведомление внутри ServiceWorkerGlobalScope с помощью конструктора Notification() вызовет TypeError. Используйте ServiceWorkerRegistration.showNotification() вместо этого.
Синтаксис
new Notification(title) new Notification(title, options)
Параметры
title-
Определяет заголовок уведомления, который отображается в верхней части окна уведомления.
optionsНеобязательно-
Объект опций, содержащий любые пользовательские настройки, которые вы хотите применить к уведомлению. Возможные опции:
actionsНеобязательно-
Должен быть не указан или пустым массивом.
actionsподдерживается только для постоянных уведомлений, отправленных из service worker с помощьюServiceWorkerRegistration.showNotification(). badgeНеобязательно-
Строка, содержащая URL изображения, используемого для представления уведомления, когда нет достаточно места для отображения самого уведомления; например, панель уведомлений Android. На устройствах Android значок должен соответствовать устройствам с разрешением до 4x, приблизительно 96x96px, и изображение будет автоматически замаскировано.
bodyНеобязательно-
Строка, представляющая текст тела уведомления, который отображается ниже заголовка. По умолчанию пустая строка.
dataНеобязательно-
Произвольные данные, которые вы хотите связать с уведомлением. Это может быть любого типа структурируемых данных. По умолчанию
null. dirНеобязательно-
Направление отображения уведомления. По умолчанию
auto, которое просто принимает поведение настроек языка браузера, но вы можете переопределить это поведение, установив значенияltrиrtl(хотя большинство браузеров, похоже, игнорируют эти настройки). iconНеобязательно-
Строка, содержащая URL иконки для отображения в уведомлении.
imageНеобязательно-
Строка, содержащая URL изображения для отображения в уведомлении.
langНеобязательно-
Язык уведомления, указанный с помощью строки, представляющей тег языка в соответствии с RFC 5646: Теги для идентификации языков (также известный как BCP 47). См. страницу Sitepoint ISO 2-буквенных кодов языка для простой справки. По умолчанию пустая строка.
renotifyНеобязательно-
Булево значение, определяющее, должно ли пользователю быть отправлено уведомление после того, как старое уведомление заменится новым. По умолчанию
false, что означает, что уведомление не будет отправлено. Еслиtrue, тогдаtagтакже должно быть задано. requireInteractionНеобязательно-
Указывает, что уведомление должно оставаться активным до тех пор, пока пользователь его не нажмёт или не закроет, а не закрывается автоматически. Значение по умолчанию
false. silentНеобязательно-
Булево значение, определяющее, должно ли уведомление быть беззвучным, т. е. не должно издаваться звуков или вибрации независимо от настроек устройства. Если установлено значение
true, уведомление беззвучное; если установлено значениеnull(значение по умолчанию), применяются стандартные настройки устройства. tagНеобязательно-
Строка, представляющая идентификационный тег для уведомления. По умолчанию пустая строка.
timestampНеобязательно-
Маркер времени, заданный как Unix time в миллисекундах, представляющий время, связанное с уведомлением. Это может быть в прошлом, когда уведомление используется для сообщения, которое не могло быть немедленно доставлено из-за того, что устройство было в автономном режиме, или в будущем для встречи, которая вот-вот начнется.
vibrateНеобязательно-
паттерн вибрации для вибрационной системы устройства, чтобы издавать вибрацию с уведомлением. Если указан,
silentне должен бытьtrue.
Возвращаемое значение
Экземпляр объекта Notification.
Исключения
TypeError-
Выбрасывается, если:
- Конструктор вызывается внутри
ServiceWorkerGlobalScope. - Указана опция
actionsи она не пустая. - Опция
silentустановлена какtrueи опцияvibrateуказана. - Опция
renotifyустановлена какtrue, но опцияtagпустая.
- Конструктор вызывается внутри
-
DataCloneErrorDOMException -
Выбрасывается, если сериализация опции
dataпо какой-либо причине не удалась.
Примеры
Вот самый базовый пример, чтобы показать уведомление только в том случае, если разрешение уже предоставлено. Для более полных примеров см. страницу Notification.
if (Notification.permission === "granted") {
const notification = new Notification("Hi there!");
}
Спецификации
| Спецификация |
|---|
| API уведомлений # dom-notification-notification |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
Notification |
20 | 14 | 224 | 23 | 7 | 42["Уведомление может быть отправлено только из service worker. Для отображения уведомления см.ServiceWorkerRegistration.showNotification().", "Этот конструктор всегда выбрасывает исключение TypeError."] |
224 | 29["Уведомление может быть отправлено только из service worker. Для отображения уведомления см.ServiceWorkerRegistration.showNotification().", "Этот конструктор всегда выбрасывает исключение TypeError."] |
16.4["Этот конструктор выбрасывает исключениеReferenceError , если страница не является веб-приложением, сохранённым на главном экране. В манифесте приложения должно быть задано значение display , отличное от значения по умолчанию.", "Уведомление может быть отправлено только из service worker. Для отображения уведомления см. ServiceWorkerRegistration.showNotification()."] |
4.0["Уведомление может быть отправлено только из service worker. Для отображения уведомления см.ServiceWorkerRegistration.showNotification().", "Этот конструктор всегда выбрасывает исключение TypeError."] |
Нет |
Примечания к Chrome
Начиная с Chrome 49, уведомления не работают в режиме инкогнито.
Chrome для Android будет генерировать TypeError при вызове конструктора Notification. Он поддерживает только создание уведомлений из service worker. Подробнее см. отслеживатель проблем Chromium.
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Notification/Notification