Spec-Zone.ru › Web APIs

Уведомление: Конструктор 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 пустая.
DataCloneError DOMException

Выбрасывается, если сериализация опции 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.

См. также

  • Использование API уведомлений

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API